gperftools安装使用_使用google-perftools优化nginx内存管理提升性能

本文介绍了如何利用google-perftools(TCMalloc)提升nginx在高并发下的内存管理效率和性能。虽然nginx内存占用较小,但通过安装和配置gperftools,可以尝试优化其内存分配速度。
摘要由CSDN通过智能技术生成
96ec3782b3cd1aaa8e8783ca0988cc6c.png

一、前言

1、使用google开发的google-perftools优化nginx的内存分配效率和速度,帮助在高并发的情况下控制内存的使用。

2、TCMalloc在内存的分配上效率和速度要比malloc高得多。但是nginx的内存占用其实是很少的,一个进程占用的内存大概只有12M左右,所有google-perftools对nginx的优化效果可能不太明显。

二、安装

1、下载并安装google-perftools

# 从github上下载perftools工具包shell> wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.7/gperftools-2.7.tar.gz# 注意:# 1、如果是32位系统,在configure gperftools的时候,可以不添加--enable-frame-pointers参数。# 2、如果是64位系统,需要先安装libunwind,再在configure gperftools的时候,添加--enable-frame-pointers参数。shell> yum install epel-release -yshell> yum install libunwind-devel -yshell> tar zxvf gperftools-2.7.tar.gzshell> cd gperftools-2.7shell> ./configure --enable-frame-pointers --enable-libunwind --with-tcmalloc-pagesize=32shell> make && make install

2、使nginx支持google-perftools

# 重新编译ngx,添加--with-google_perftools_module# 简单演示参数添加方法,详细的nginx安装过程,请参考《源码安装openresty》shell> ./configure --with-google_perftools_moduleshell> make && make install

3、配置nginx对google-perftools的支持

# 添加线程目录shell> mkdir /tmp/tcmallocshell> chmod 0777 /tmp/tcmalloc# 修改nginx.conf,在pid行下面添加如下信息google_perftools_profiles /tmp/tcmalloc;# 重启nginxshell> /opt/openresty/nginx/sbin/nginx -s reload# 验证是否支持shell> lsof -n |grep tcmallocnginx 1414 nobody 12w REG 252,1 0 1452011 /tmp/tcmalloc.1414nginx 1415 nobody 14w REG 252,1 0 1452010 /tmp/tcmalloc.1415# 备注:tcmalloc的记录文件数量与nginx.conf中worker_processes的值有关,每个worker对应一个tcmalloc文件。

4、可能会遇到的问题

# 启动nginx,发现缺少libprofiler.so.0动态库的支持shell> /opt/openresty/nginx/sbin/nginx /opt/openresty/nginx/sbin/nginx: error while loading shared libraries: libprofiler.so.0: cannot open shared object file: No such file or directory# 查找系统下是否有libprofiler.so.0动态库shell> whereis libprofiler.so.0libprofiler.so: /usr/local/lib/libprofiler.so.0 /usr/local/lib/libprofiler.so# 由于不在nginx程序查找的目录下,所以需要创建软链接# 评估缺少的动态库支持,可通过ldd /opt/openresty/nginx/sbin/nginx的方式,查看"not found"部分。shell> ln -s /usr/local/lib/libprofiler.so.0.4.18 /lib64/libprofiler.so.0

至此,nginx下的google-perftools优化安装完成。

作者:龍龍小宝

原文:https://www.cnblogs.com/91donkey/p/11513175.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值