利用TCMalloc优化Nginx性能

技术说明:

TCMalloc 全称Thread-Cachig Malloc,是谷歌开发的开源工具Google-preftools中的一个成员。与标准的glibc库的Malloc相比,TCMalloc库在内存分配效率和速度上要高很多,在很大程度上提高了服务器在高并发情况下的性能,从而降低了系统的负载。

一.安装libunwind:

1.安装libunwind:

http://download.savannah.gnu.org/releases/libunwind/

下载libunwind-0.99.tar.gz

2.tar –zxvf libunwind-0.99.tar.gz

3.cd libunwind-0.99

4.CFLAGS=-fPIC ./configure

5.make CFLAGS=-fPIC

6.make CFLAGS=-fPIC install

7.echo "/usr/local/lib" >/etc/ld.so.conf.d/usr_local_lib.conf

8./sbin/ldconfig

二.安装google-preftools:

1.下载地址:

http://download.chinaunix.net/download.php?id=32582&ResourceID=12865

下载google-perftools-1.9.tar.gz

2. chmod 700 google-perftools-1.9.tar.gz

3. tar -zxvf google-perftools-1.9.tar.gz

4. cd google-perftools-1.9

5. ./configure

6. make && make install

7. echo "/usr/local/lib" >/etc/ld.so.conf.d/usr_local_lib.conf

8./sbin/ldconfig

三.重新编译Nginx:

1. cd nginx-1.5.8

2../configure  --with-google_perftools_module --user=www --group=www --prefix=/usr/local/nginx  --with-http_stub_status_module

3. make && make install

四.为google-perftools添加线程目录:

mkdir –p /tmp/tcmalloc

chmod 0777 /tmp/tcmalloc

五.修改Nginx主配置文件:

vim /usr/local/nginx/conf/nginx.conf:

#pid logs/nginx.pid;

google_perftools_profiles /tmp/tcmalloc;

六.验证google-perftools正常加载,命令查看方式:

lsof –n |grep tcmalloc

[[email protected] conf]# lsof -n |greptcmalloc

nginx    15017       www   10w     REG              253,0         0    801420 /tmp/tcmalloc.15017

nginx    15018       www   12w     REG              253,0         0    801417 /tmp/tcmalloc.15018

nginx    15019       www   14w     REG              253,0         0    801415 /tmp/tcmalloc.15019

nginx    15020       www   16w     REG              253,0         0    784898 /tmp/tcmalloc.15020

nginx    15021       www   18w     REG              253,0         0    801274 /tmp/tcmalloc.15021

nginx    15022       www   20w     REG              253,0         0    801414 /tmp/tcmalloc.15022

nginx    15023       www   22w     REG              253,0         0    801418 /tmp/tcmalloc.15023

nginx    15024       www   24w     REG              253,0         0    801419 /tmp/tcmalloc.15024

在Nginx的主配置文件Nginx.conf中设置worker_processes的值为8,所以开启了8个Nginx线程,每个线程有一行记录。每个线程文件后面的数字值就是启动的Nginx的pid值。

利用TCMalloc优化Nginx可以提高服务器在高并发下的性能,降低系统负载,使服务器稳定、高效运行!

时间: 2024-10-10 04:29:59

利用TCMalloc优化Nginx性能的相关文章

TCMalloc优化Nginx、MySQL、Redis内存管理

TCMalloc(Thread-Caching Malloc)与标准glibc库的malloc实现一样的功能,但是TCMalloc在效率和速度效率都比标准malloc高很多.TCMalloc是google-perftools工具中的一个(gperftools四个工具分别是:TCMalloc.heap-checker.heap-profiler和cpu-profiler),这个工具是开源的,以源码形式发布.如果觉得自己维护一个内存分配器麻烦的话,可以考虑将TCMalloc静态库连接到你的程序中.使

[转载]Android利用convertView优化ListView性能

本的getView写法 Java代码public View getView(int position, View convertView, ViewGroup parent) {View view = new View(); //通过inflate等找到布局 然后findViewById等 设置各个显示的item return view;} 而在ListView滑动的过程中 很容易就会发现每次getView被执行 都会new出一个View对象 长此以往会产生很大的消耗 特别当item中还有Bit

Nginx性能优化技巧(6)

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

nginx性能优化技巧

前几天买了本高俊峰的<高性能Linux服务器构建实战I>,网上都说运维必备手册,昨天看了目录加小50页感觉还是比较扩充视野的,很多东西在学校是不可能学到的,就是感觉有的地方讲的仍然不是很清楚,毕竟79块的书其实可以写到800页的.... 个人对于nginx比较感兴趣,源码的编译安装是比较熟的了,配置文件本来以为挺熟的,但是看了书上配置文件的N多命令我感觉根本玩不起来.因为实在是太多了,要背根本不现实,就算背下来不去用也会很快就忘掉.十分蛋疼~~ 书上对于Nginx的性能优化写了4种方法,下面分

tcMalloc 配置和优化 nginx 高性能

tcMalloc优化nginx 记住:nginx一定要先启动 1>下载安装libunwind: #wget  http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99.tar.gz wget  http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-alpha.tar.gz tar -zxvf libunwind-0.99-alpha.tar.

Nginx性能优化配置(三)

Nginx性能优化配置(三)  本文主要介绍Nginx的性能优化配置,文章的层次架构如图所示. 1.Nginx的工作进程优化 1.worker_processes 作用:worker进程的数量:通常应该等于小于当前主机的cpu的物理核心数:auto表示根据CPU的物理核心数自动调整工作进程数.使用lscpu或或者cat /proc/cpuinfo | grep 'processor' | wc -l 可以查看CPU的物理核心数. 配置:worker_processes auto: 配置段:mai

nginx安全优化与性能优化

1.1 Nginx优化分类 安全优化(提升网站安全性配置) 性能优化(提升用户访问网站效率) 1.2 Nginx安全优化 1.2.1 隐藏nginx版本信息优化 官方配置参数说明:http://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens 官方参数: Syntax: server_tokens on | off | build | string;    #后面这俩参数收费的 Default: server_token

nginx性能优化及内核参数调整

Nginx配置参数优化 Nginx作为高性能web服务器,即使不特意调整配置参数也可以处理大量的并发请求.以下的配置参数是借鉴网上的一些调优参数,仅作为参考,不见得适于你的线上业务. worker进程 worker_processes 该参数表示启动几个工作进程,建议和本机CPU核数保持一致,每一核CPU处理一个进程. worker_rlimit_nofile 它表示Nginx最大可用的文件描述符个数,需要配合系统的最大描述符,建议设置为102400. 还需要在系统里执行ulimit -n 10

nginx性能优化调优之google-perftools

什么是google-perftools?google-perftools是google公司开发的一款针对 C/C++ 程序的性能分析开源工具,使用该工具可以对 CPU 时间片.内存等系统资源的分配和使用进行分析google-perftools包含四个工具,分别是:TCMalloc.heap-checker.heap-profiler和cpu-profiler,其中我们本次需要的一个工具TCMalloc是google-perftools的其中一个工具,用于优化内存分配的效率和速度,帮助在高并发的情