手机版
你好,游客 登录 注册
背景:
阅读新闻

利用TCMalloc优化Nginx的性能

[日期:2013-04-21] 来源:Linux社区  作者:yanzhe [字体: ]

TCMalloc的全称是 Thread-Caching Malloc,是谷歌开发的开源工具google-perftools中的一个成员。与标准的glibc库的Malloc相比,TCMalloc库在内存分配效率和速度上要高很多,这在很大程度上提高了服务器在高并发情况下的性能,从而降低了系统的负载。下面简单介绍如何为Nginx添加TCMalloc库支持

要安装TCMalloc库,需要安装libunwind 和 gperftools两个软件包,libunwind库为基于64为CPU何操作系统的程序提供了基本函数调用链和函数调用寄存器功能,32位操作系统部需要安装。

1.安装libunwind库

可以从LinuxIDC.com的FTP下载libunwind-1.1.tar.gz

libunwind-1.1.tar.gz下载地址:

 

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2013年资料/4月/21日/利用TCMalloc优化Nginx的性能

------------------------------------------------------------------------------

安装过程如下:

tar -xvf libunwind-1.1.tar.gz

cd libunwind-1.1

CFLAGS=-fPIC ./configure

make CFLAGS=-fPIC

make CFLAGS=-fPIC install

2.安装gperftools 可以从 这里 下载2.0版本

tar -xvf gperftools-2.0.tar.gz

cd gperftools-2.0

./configure

make && make install

echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf

ldconfig

支持gperftools安装完成

3.重新编译Nginx.

./configure --prefix=/usr/local/nginx \  指定nginx的安装目录

--with-http_stub_status_module \  启用nginx的status功能,可以监控nginx当前状态

--with-http_gzip_static_module \  支持在线实时压缩输出数据流

--with-google_perftools_module \  支持TCMalloc对Nginx性能的优化

make && make install

到这里Nginx安装完成。

4.为gperftools添加线程目录

创建一个线程目录,这里讲文件放在/tmp/tcmalloc下。操作如下:

mkdir /tmp/tcmalloc

chmod 0777 /tmp/tcmalloc

5.修改nginx主配置文件,在pid这行的下面添加如下代码:

#pid  logs/nginx.pid;

google_perftools_profiles /tmp/tcmalloc;

接着重启nginx即可完成gperftools的加载。

6.验证运行状态

为了验证gperftools已经正常加载,可以通过如下命令查看:

lsof -n | grep tcmalloc

nginx    2395 nobody    9w REG    8,8    0    1599440 /tmp/tcmalloc.2395

nginx    2396 nobody    11w REG    8,8    0    1599443 /tmp/tcmalloc.2396

nginx    2397 nobody    13w REG    8,8    0    1599441 /tmp/tcmalloc.2397

nginx    2398 nobody    15w REG    8,8    0    1599442 /tmp/tcmalloc.2398

由于在Nginx配置文件中设置worker_processes的值为4 ,因此开启了4个Nginx线程,每个线程都会有一行记录。每个线程文件后面的数字值就是启动Nginx的pid值。

至此,利用TCMalloc优化Nginx的操作完成。

下面还有对Nginx内核参数的优化。也来给大家分享下。见 http://www.linuxidc.com/Linux/2013-04/83198.htm

linux
相关资讯       Tcmalloc  Nginx优化  Nginx性能 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款