当前位置: 首页 > Linux学院 > 网络服务 > Web > 轻量级HTTP服务器Nginx:性能优化技巧

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

2013-07-30 18:33 来源:风信网 作者:末信 人气指数: 我要评论

风信网(ithov.com)原创文章:以下内容针对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安装完成。

大家感兴趣的内容
小伙伴最爱的新闻
小伙伴还关注了以下信息
小伙伴关注的焦点

小伙伴都在关注的热门词

新服 缤纷活动 航海世纪 芈月传 暗黑道具 萌乐网 苹果发布会 最新谍照 三国令 剑雨江湖 怎样修炼战骑 页游 怎样修炼伙伴 木甲世界 仙侠道2 推黑科技 页游模式 武圣试炼场 街机玩法 蓝月传奇 个人BOSS玩法 哥们网 九阴绝学 仗剑出鞘 全新模式 范伟打天下 全新元神玩法 七大神兵简介 新手攻略 跑腿任务 门派五行 城战礼包 页游界 泥石流 傅园慧 经典网页游戏 耐玩 盘点 玉石攻略 提升角色 大黑 实装属性 神兵攻略 问鼎莽荒 莽荒纪 手持神兵 土豪梦 万世 开学清单 财富赚不停 天书世界 大黑游戏 资源战场 ppwan 天问 激战 全国大战 雄霸一方 新增宠物技能 绝对小能手 花千骨 三尾章鱼 风色轨迹 双枪手 弑之神 缤纷好礼 惊喜六重连 帮会 中秋福利 自制月饼 九阴真经 玩家 五周年纪念 纪念银币 名动三界 新服资料片 画江山 勇战妖魔 邪恶势力 上古降魔 老司机玩法 坐骑揭秘 黑科技 竞技场攻略 铁血皇城 披风玩法 书剑恩仇录 装备强化攻略 野外BOSS玩法 全网曝光 赤壁传说 半回合制国 ACT 奇珍商城 热血战歌 传奇宝藏抽奖 打开方式 门徒 门徒获取玩法 三大萌宠简介