利用TCMalloc优化Nginx的性能

一、TCMalloc介绍

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

2、文件介绍

libunwind

libunwind官网:http://www.nongnu.org/libunwind/

libunwind下载:http://down.shshenchu.com/libunwind-1.1.tar.gz

gperftools

gperftools官网:http://code.google.com/p/gperftools/downloads/list

gperftools下载:http://down.shshenchu.com/gperftools-2.1.tar.gz

二、安装配置

1.安装libunwind库

wget http://down.shshenchu.com/libunwind-1.1.tar.gz    //下载libunwindtar -zxvf libunwind-1.1.tar.gz    //解压libunwindcd libunwind-1.1CFLAGS=-fPIC ./configuremake CFLAGS=-fPICmake CFLAGS=-fPIC install

2.安装gperftools

wget http://down.shshenchu.com/gperftools-2.1.tar.gz    //下载gperftoolstar -zxvf gperftools-2.1.tar.gz     //解压gperftoolscd gperftools-2.1./configuremake && make installecho "/usr/local/lib" >> /etc/ld.so.conf.d/usr_local_lib.confldconfig

支持gperftools安装完成

3.编译Nginx

编译的时候添加–with-google_perftools_module

4.为gperftools添加线程目录

创建一个线程目录

mkdir /tmp/tcmallocchmod 0777 /tmp/tcmalloc

5.修改nginx主配置文件,在pid这行的下面添加以下代码

google_perftools_profiles /tmp/tcmalloc;

6.验证运行状态

为了验证gperftools已经正常加载,可以如下命令查看:

[root@localhost public_html]# lsof -n | grep tcmallocnginx     32572     www   14w      REG                8,1        0      27102 /tmp/tcmalloc.32572nginx     32573     www   18w      REG                8,1        0      27106 /tmp/tcmalloc.32573

由于在Nginx配置文件中设置worker_processes的值为2,因此就开启了2个Nginx的线程,每个线程都会有一行记录。每个线程文件后面的数字值就是启动Nginx的pid值。

至此,利用TCMalloc优化Nginx的操作完成。

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2015-02-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

自动化模式中的MySQL

原文:MySQL on Autopilot 作者:Tim Gross 翻译:孙薇 自动化模式(Autopilot Pattern)是一种设计应用与基础架构的方式...

2585
来自专栏性能与架构

Redis 5个实用建议

下面是著名云平台Heroku官方分享的5个实用建议,帮助我们更好的使用 Redis 01 使用连接池 使用连接池可以有效降低过度连接带来的性能损耗,减少创建连接...

3538
来自专栏py+selenium

(CVE-2017-10271)weblogic12.1.3.0漏洞测试与打补丁过程

网上各种转来转去,参差不齐,好多说什么用bsu去打补丁,他们有些不知道,12.1.2后的版本都没有bsu这玩意了,打补丁要用opatch去打!

6042
来自专栏互扯程序

java 诊断工具—— Arthas

该说不说!小编做的这些功能,最讨厌的就是优化!某些前辈大佬写的代码小辈我实在不敢恭维!那逻辑!那sql!

2121
来自专栏IT可乐

Redis详解(二)------ redis的配置文件介绍

  上一篇博客我们介绍了如何安装Redis,在Redis的解压目录下有个很重要的配置文件 redis.conf (/opt/redis-4.0.9目录下),关于...

1580
来自专栏北京马哥教育

利用TCMalloc优化Nginx的性能

TCMalloc的全称为Thread-Caching Malloc,是谷歌开发的开源工具google-perftools中的一个成员。与标准的glibc库的Ma...

2505
来自专栏技术之路

Qt 5.2 Creator 和 vs2012 QT 插件的安装

在QT官网下载QT http://qt-project.org/downloads 我下的是64位版本Qt 5.2.1 for Windows 64-bit v...

2169
来自专栏奔跑的蛙牛技术博客

数据库编程

某些jdbc的jar文件自动注册为jar文件,不支持的话需要手动注册,可以在java程序注册,可以通过命令行注入

1173
来自专栏Android机动车

制作安卓依赖库教程

1233
来自专栏枕边书

一键部署进化史

前言 ---- 之前的文章说过 由 PHP 转到 Java 之后,非常不适应的一点就是代码部署过程耗时长,调试不便,虽然可以使用 debug,但有时候还是需要修...

5058

扫码关注云+社区

领取腾讯云代金券