首页 > 网站 > Nginx > 正文

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

2024-08-30 12:29:12
字体:
来源:转载
供稿:网友

以下内容针对Nginx性能优化技巧进行说明,分别从编译安装过程优化、利用TCMalloc优化Nginx的性能和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='-03’

-with-cpu-opt=CPU #为特定的CPU编译,有效的值包括:pentium, pentiumpro, pentium3,

# pentium4, athlon, opteronr,amd64, sparc32, sparc64, ppc64

要确定CPU类型,可以通过如下命令:

[root@localhost home] #cat /proc/cpuinfo | grep "model name"

利用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库

可以从http://download.savannah.gnu.org/releases/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-alphaJ#make CFLAGS=-fPIC

[root@localhost libunwind-0.99-alphaJ#make CFLAGS=-fPIC install

2.安装google-perftools

可以从http://google-perftools.googlecode.com下载相应的google-perftools版本,这里下载的是google-perftools-l.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@localhost nginx-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.65J #make install

刭这里Nginx安装完成。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表