利用 gperftools 对nginx mysql 内存管理 性能优化
利用 gperftools 对nginx 与 mysql 进行 内存管理 性能优化 降低负载.
Gperftools 是由谷歌开发。官方对gperftools 的介绍为:
These tools are for use by developers so that they can create more robust applications. Especially of use to those developing multi-threaded applications in C++ with templates. Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.
- 首先下载软件安装包:
由于我们的系统为CentOS 5.8 x64的系统, 64位系统需要先安装 libunwind 支持库。
wget http://download.savannah.gnu.org/releases/libunwind/libunwind-1.1.tar.gz
gperftools 2.0版本
wget http://gperftools.googlecode.com/files/gperftools-2.0.tar.gz
- 安装软件包
tar zxvf libunwind-1.1.tar.gz
cd libunwind-1.1
./configure
make && make install
tar zxvf gperftools-2.0.tar.gz
cd gperftools-2.0
./configure --enable-frame-pointers
make && make install
增加 gperftools 线程目录
mkdir /tmp/tcmalloc
设置权限
chmod 777 /tmp/tcmalloc
配置lib 库文件目录
vim /etc/ld.so.conf
增加
/usr/local/lib
/sbin/ldconfig 使之生效
- 重新编译nginx 使其支持gperftools
tar zxvf nginx-1.2.3.tar.gz
cd nginx-1.2.3
./configure --user=upload --group=upload --prefix=/opt/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-google_perftools_module
make && make install
安装完毕以后, 修改 nginx 配置文件 nginx.conf
vim /opt/local/nginx/con/nginx.conf
在pid 下面增加
#gperftools
google_perftools_profiles /tmp/tcmalloc;
然后保存,启动nginx
/opt/local/nginx/sbin/nginx -t 查看配置是否正常
lsof -n | grep tcmalloc 查看是否运行
nginx 18454 upload 10w REG 8,2 0 10780681 /tmp/tcmalloc.18454
nginx 18455 upload 12w REG 8,2 0 10780682 /tmp/tcmalloc.18455
---------------------------------------------------------------------------------
优化Mysql 则不需要重新编译mysql 只需要找到 mysqld_safe 这个文件
在# executing mysqld_safe 下面加上
export LD_PRELOAD=/usr/local/lib/libtcmalloc.so
然后重启mysql 就可以啦.
利用 gperftools 对nginx mysql 内存管理 性能优化的更多相关文章
- MySQL内存管理机制浅析
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 目录 一.placement new的定义 二.pl ...
- mySQL内存及虚拟内存优化设置[转]
mySQL内存及虚拟内存优化设置 . 数据库mySQL内存优化G-LB 为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆.网上搜索了一下,得到高人指点my.ini ...
- Atitit 如何利用先有索引项进行查询性能优化
Atitit 如何利用先有索引项进行查询性能优化 1.1. 再分析的话就是我们所写的查询条件,其实大部分情况也无非以下几种:1 1.2. 范围查找 动态索引查找1 1.2.1. 索引联合 所谓的索引联 ...
- nginx slab内存管理
本来这一篇作为nginx系列的开头是不合适的,不过由于nginx进程框架自己的梳理还没完成,这部分又刚好整理完了,就从这开始吧.这儿谈的是nginx的slab的内存管理方式,这种方式的内存管理在ngi ...
- nginx的内存管理
先来看内存池的实现,nginx的内存池实现的非常简单. 这里内存池的一些图表可以看老朱同学的slides : http://blog.zhuzhaoyuan.com/2009/09/nginx-int ...
- mysql内存管理
1 内存管理结构 mysql有自己的内存申请和释放机制 mysql层有mem_root innodb层有mem_heap,mem_pool,buf_pool 它们的结构图如下 2 mem_root m ...
- Nginx源码研究四:NGINX的内存管理
关于nginx的内存使用,我们先看代码,下面是nginx_cycle.c中对全局数据结构cycle的初始化过程 pool = ngx_create_pool(NGX_CYCLE_POOL_SIZE, ...
- 安全开发运维必备,如何进行Nginx代理Web服务器性能优化与安全加固配置,看这篇指南就够了
本章目录 1.引言 1.1 目的 1.2 目标范围 1.3 读者对象 2.参考说明 2.1 帮助参考 2.2 参数说明 3.3 模块说明 3.服务优化 3.1 系统内核 3.2 编译优化 3.3 性能 ...
- Android 内存管理之优化建议
OOM(OutOfMemory)转:http://hukai.me/android-performance-oom/ 前面我们提到过使用getMemoryClass()的方法可以得到Dalvik He ...
随机推荐
- MySQL 异常错误码使用 及 对照表
DECLARE CONTINUE HANDLER FOR SQLWARNING, SQLEXCEPTION, NOT FOUND BEGIN GET DIAGNOSTICS CONDITION cod ...
- selection与range笔记
selection对象代表当前激活选中区,通常是高亮的文本块 创建选中区: 1.拖拽文本 2.脚本创建 cerateRange() 获取selection对象 IE document.sele ...
- 后台运行之BackgroundWorker
BackgroundWorker 类允许您在单独的专用线程上运行操作. 耗时的操作(如下载和数据库事务)在长时间运行时可能会导致用户界面 (UI) 似乎处于停止响应状态. 如果您需要能进行响应的用户界 ...
- alert()显示中文出现乱码
1.如果是外部调用 <script language="javascript" type="text/javascript" src="tswc ...
- linux视频学习6(mysql的安装/)
1.mysql的优点: 免费,跨平台,轻,支持多并发. 2.mysql的安装步骤: 把安装文件准备好,拷贝到home目录下.mount /mnt/cdrom cp mysql* /home 把安装文件 ...
- Linux学习 -- Shell编程 -- 流程控制
if语句 单分支 if [ 条件判断式 ]; then 程序 fi 或者 if [ 条件判断式 ] then 程序 fi 例子: 双分支 if [ 条件判断式 ] then 程序 else 程序 fi ...
- dotnet core error 0x80070057
安装补丁KB2533623 https://support.microsoft.com/en-us/kb/2533623
- select标签 样式 及文本有空格
<s:select name="codeid" id="codeid" multiple="false" list="#s ...
- nfs安装配置
一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操 ...
- activity管理类 appManager
程序启动第一个界面类: net.oschina.app.AppStart功能描述:一张图片代码细节描述:一个透明度的动画效果,效果动画完成后自动启动新的Activity(Main) 基本BaseAct ...