轻量级HTTP服务器Nginx(Nginx性能优化技巧)

一、编译安装过程优化

1.减小Nginx编译后的文件大小
在编译Nginx时,默认以debug模式进行,而在debug模式下会插入很多跟踪和ASSERT之类的信息,编译完成后,一个Nginx要有好几兆字节。在编译前取消Nginx的debug模式,编译完成后Nginx只有几百千字节,因此可以在编译之前,修改相关源码,取消debug模式,具体方法如下:
在Nginx源码文件被解压后,找到源码目录下的auto/cc/gcc文件,在其中找到如下几行:

# debug  CFLAGS=”$CFLAGS -g”  

注释掉或删掉这两行,即可取消debug模式。

2.为特定的CPU指定CPU类型编译优化
在编译Nginx时,默认的GCC编译参数是“-O”,要优化GCC编译,可以使用以下两个参数:
--with-cc-opt='-O3'
--with-cpu-opt=CPU  #为特定的 CPU 编译,有效的值包括:pentium, pentiumpro, pentium3, pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64
要确定CPU类型,可以通过如下命令:
[root@localhost home]#cat /proc/cpuinfo | grep "model name"

相关阅读:

轻量级HTTP服务器Nginx(配置与调试Nginx)

轻量级HTTP服务器Nginx(Nginx日常维护) 

轻量级HTTP服务器Nginx(安装篇)

轻量级HTTP服务器Nginx(入门篇)   

轻量级HTTP服务器Nginx(常用配置实例) 

轻量级HTTP服务器Nginx(Nginx性能优化技巧) 

实战Nginx与PHP(FastCGI)的安装、配置与优化

实战Nginx与Perl、Java的安装与配置

二、利用TCMalloc优化Nginx的性能
TCMalloc的全称为Thread-Caching Malloc,是谷歌开发的开源工具“google-perftools”中的一个成员。与标准的glibc库的malloc相比,TCMalloc库在内存分配效率和速度上要高很多,这在很大程度上提高了服务器在高并发情况下的性能,从而降低系统负载。下面简单介绍如何为Nginx添加TCMalloc库支持。
要安装TCMalloc库,需要安装libunwind(32位操作系统不需要安装)和google-perftools两个软件包,libunwind库为基于64位CPU和操作系统的程序提供了基本函数调用链和函数调用寄存器功能。下面介绍利用TCMalloc优化Nginx的具体操作过程:

1.安装libunwind库
可以从下载相应的libunwind版本,这里下载的是libunwind-0.99-alpha.tar.gz,安装过程如下:
 

[root@localhost home]#tar zxvf libunwind-0.99-alpha.tar.gz  [root@localhost home]# cd libunwind-0.99-alpha/  [root@localhost libunwind-0.99-alpha]#CFLAGS=-fPIC ./configure  [root@localhost libunwind-0.99-alpha]#make CFLAGS=-fPIC  [root@localhost libunwind-0.99-alpha]#make CFLAGS=-fPIC install  

2.安装google-perftools
可以从下载相应的google-perftools版本,这里下载的是google-perftools-1.8.tar.gz,安装过程如下:
 

[root@localhost home]#tar zxvf google-perftools-1.8.tar.gz  [root@localhost home]#cd google-perftools-1.8/  [root@localhost google-perftools-1.8]# ./configure  [root@localhost google-perftools-1.8]#make && make install  [root@localhost google-perftools-1.8]#echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf  [root@localhost google-perftools-1.8]# ldconfig  

至此,google-perftools安装完成。

3.重新编译Nginx
为了使Nginx支持google-perftools,需要在安装过程中添加“–with-google_perftools_module”选项重新编译Nginx,安装代码如下:
 

[root@localhostnginx-0.7.65]#./configure \  >--with-google_perftools_module --with-http_stub_status_module  --prefix=/opt/nginx  [root@localhost nginx-0.7.65]#make  [root@localhost nginx-0.7.65]#make install  

到这里Nginx安装完成。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8148985e92ceef7787be3d0ea6f13f6f.html