Nginx   /   428

nginx优化之让nginx使用tcmalloc

TCMalloc的全称为Thread-Caching Malloc,是谷歌开发的开源工具google-perftools中的一个成员。与标准的glibc库的Malloc相比,TCMalloc库在内存分配效率和速度上要高很多,这在很大程度上提高了服务器在高并发情况下的性能,从而降低了系统的负载。详细了解TCMalloc,请看这里tcmalloc的内存管理

安装googlepreftools与nginx问题
在编译nginx的时候要加上–with-google_perftools_module选项,但是编译的时候提示:

./configure: error: the Google perftool module requires the Google perftools
library. You can either do not enable the module or install the library.

这个错误是由于在安装googlepreftools的时候采取了自定义安装位置所致,所以需要修改nginx的代码源文件,这里以nginx-1.2.0为例:

打开解压的安装包,找到conf文件
文件位置:nginx-1.2.0/auto/lib/google-perftools/conf
把其中的 /usr/local 全部替换成你的google-perftools的路径,比如我的位置是/usr/local/googleopreftools,然后再次编译就不会出现上面的错误。我的编译参数为:

./configure –prefix=/usr/local/nginx –with-poll_module –with-http_sub_module –with-http_stub_status_module –with-pcre –add-module=../ngx_cache_purge –with-http_realip_module –with-google_perftools_module
make && make install
//其中涉及到的模块,如果当初是自定义安装位置的,那就需要指定下相关位置。

然后在nginx.conf中增加google_perftools_profiles /tmp/tcmalloc;
启动nginx后验证是否成功支持tcmalloc

# lsof -p 5801| grep tcmalloc

网络发现者(aiwei.us)是梁道科技旗下以企业建站,微信开发,视觉设计为主要服务项目的互联网品牌。

我们为企业提供各类互联网平台项目的咨询顾问服务。依靠丰富的互联网实践经验,我们为企业从项目可行性分析,执行策略及方案等方方面面提供合理化建议。