云深处 发表于 2018-11-8 10:07:28

Tcmalloc优化Nginx内存管理

  实验环境:
  OS:Redhat 5.3 64bit
  Mysql:mysql 5.5.29
  上次就Tcmallo优化Mysql内存管理的安装配置写了一篇blog,那么这次就针对Tcmalloc优化Nginx的内存管理的安装配置也写下。
  首先,和mysql一样我们需要先安装Tcmalloc,这个请参考上一篇blog《Tcmalloc优化Mysql内存管理》,这里就不一一说明了。
  然后就是Nginx的安装了,具体详情如下:
# ./configure --prefix=/app/soft/nginx-download --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_random_index_module --with-http_perl_module --with-http_addition_module --with-pcre=../pcre-8.31 --with-zlib=../zlib-1.2.8 --add-module=../ngx_cache_purge-1.6 --add-module=../echo-nginx-module-0.44 --add-module=../ngx_devel_kit-0.2.18 --add-module=../lua-nginx-module-0.7.18 --add-module=../nginx_upstream_check_module-master --with-google_perftools_module  
# make
  
# make install
  为了Nginx支持Tcmalloc,需要在安装的过程中添加--with-google_perftools_module,其他都一样。在安装完成之后,需要对配置文档做相应的一些配置,否则Nginx默认不会启用Tcmalloc。具体的配置如下:
# mkdir /tmp/tcmalloc  
# chown -R www.www /tmp/tcmalloc
  
# vim nginx.conf
  
···
  
pid      logs/nginx.pid;
  
google_perftools_profiles /tmp/tcmalloc/;
  
···
  如上,Nginx使用Tcmalloc来进行内存管理优化的安装配置已经完成了,检查Nginx是否使用Tcmalloc的命令可以使用:
# lsof |grep tcmalloc  
nginx   14578    nobody   25w      REG            253,0      0    5925239 /tmp/tcmalloc/.14578
  
nginx   14579    nobody   27w      REG            253,0      0    5925240 /tmp/tcmalloc/.14579
  
nginx   14580    nobody   29w      REG            253,0      0    5925241 /tmp/tcmalloc/.14580
  
nginx   14581    nobody   31w      REG            253,0      0    5925242 /tmp/tcmalloc/.14581
  
nginx   14582    nobody   33w      REG            253,0      0    5925243 /tmp/tcmalloc/.14582
  
nginx   14583    nobody   35w      REG            253,0      0    5925244 /tmp/tcmalloc/.14583
  
nginx   14584    nobody   37w      REG            253,0      0    5925245 /tmp/tcmalloc/.14584
  
nginx   14585    nobody   39w      REG            253,0      0    5925246 /tmp/tcmalloc/.14585
  如上,我们看到了8条记录,那是因为每个线程(work_processes的值)会有一行记录,每个线程文件后面的数字值就是启动的nginx的pid值。
  以上,就是整个Tcmalloc优化Nginx内存管理的安装配置了。


页: [1]
查看完整版本: Tcmalloc优化Nginx内存管理