对于低内存,相对高访问量的WEB站点。Nginx无疑是最佳的选择,正因为内存小。所以合理地使用 Google_perftools 内存管理工具是非常必要的。

目的:

合理调配系统内存资源给Nginx WEB服务器,提高Nginx高访问量高并发性能。这里就重点说下tcmalloc—->ngx_google_perftools

,由Google官方支持的Nginx Web插件 ,查看Nginx官方的更新记录,看到从Nginx-0.6.29以后就支持该插件了。

1.安装Google Perftools:

本环境是 CentOS 6.3 X64的系统,对于 X64 的系统。还要先安装一个叫 libunwind 的库以支持 Google Perftools 。

cd /usr/local/src

wget http://download.savannah.gnu.org/releases/libunwind/libunwind-1.1.tar.gz

tar zxvf libunwind-1.1.tar.gz

cd libunwind-1.1

./configure –prefix=/usr/local/libunwind && make && make install 即可。

cd ../ && wget https://gperftools.googlecode.com/files/gperftools-2.1.tar.gz

tar zxvf gperftools-2.1.tar.gz

cd gperftools-2.1

./configure –prefix=/usr/local/gperftools –enable-frame-pointers && make && make install

一般情况下 都没什么错误出现的。安装完成后还不能直接使用。得执行 ldconfig 重建系统动态链接库。

配置 nginx 和 google perftools :

mkdir /usr/local/nginx/tmp/tcmalloc && chown www:www /usr/local/nginx/tmp/tcmalloc

最后google_perftools 工具这样安装后还不能被Nginx调用。要给其指定该工具的动态链接库路径并重新加载系统动态链接库:

echo ‘/usr/local/gperftools/lib’>/etc/ld.so.conf.d/my_app_lib.conf 

到这里。Google_perftools 工具已经安装完成,上面错误提示是在编译安装Nginx 1.4.7的时候出现的错误解决方法如图:

默认时候Nginx 1.4.7指定的Google_perftools 路径:

Nginx编译安装之自定义google_perftools not found_访问量

我们只要在 图片下面的路径中修改conf文件指定的google_perftools 的路径。Note:路径中还有个 lib 的路径一并修改。Nginx编译安装之自定义google_perftools not found_google_perftools_02

最后configure Nginx 1.4.7 就不会报该错误了,如图:

Nginx编译安装之自定义google_perftools not found_libunwind_03

到此。完美解决Nginx 自定义路径安装Google_perftools 工具报错问题。当然,还有写更简单的方案就是将你google_perftools 安装路径中的lib库目录下所有库文件都做个链接至:/usr/local/lib 目录下。像我这里就只要执行 ln -s /usr/local/gperftool/lib/* /usr/local/lib 便可。

上面方法可以进一步了解Nginx编译安装的过程