<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[使用google-perftools 加速MySQL – TCMalloc]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Tue, 28 May 2013 00:44:40 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	TCMalloc（Thread-Caching Malloc）是google开发的开源工具──“google-perftools”中的成员，地址：<a href="http://code.google.com/p/gperftools/" target="_blank">http://code.google.com/p/gperftools/</a>。与标准的glibc库的malloc相比，TCMalloc在内存的分配上效率和速度要高得多，可以在很大程度上提高MySQL服务器在高并发情况下的性能，降低系统负载。<br/>为MySQL添加TCMalloc库的安装步骤（Linux环境）：<br/>1、64位操作系统请先安装libunwind库，32位操作系统不要安装。libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能，其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API。<br/><br/><div class="code"><br/>wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-alpha.tar.gz<br/>tar zxvf libunwind-0.99-alpha.tar.gz<br/>cd libunwind-0.99-alpha/<br/>CFLAGS=-fPIC ./configure<br/>make CFLAGS=-fPIC<br/>make CFLAGS=-fPIC install<br/></div><br/><br/>2、安装google-perftools：<br/><br/><div class="code"><br/>wget http://gperftools.googlecode.com/files/gperftools-2.0.tar.gz<br/>tar zxvf gperftools-2.0.tar.gz<br/>cd gperftools-2.0<br/>./configure<br/>make &amp;&amp; make install<br/>echo &quot;/usr/local/lib&quot; &gt; /etc/ld.so.conf.d/usr_local_lib.conf<br/>/sbin/ldconfig<br/></div><br/><br/>3、修改MySQL启动脚本（根据你的MySQL安装位置而定）：<br/><br/><div class="code"><br/>vi /usr/local/mysql/bin/mysqld_safe<br/></div><br/><br/>在# executing mysqld_safe的下一行，加上：<br/><div class="code"><br/>export LD_PRELOAD=/usr/local/lib/libtcmalloc.so<br/></div><br/><br/>保存后退出，然后重启MySQL服务器。<br/>4、使用lsof命令查看tcmalloc是否起效：<br/><div class="code"><br/>/usr/sbin/lsof -n &#124; grep tcmalloc<br/></div><br/><br/>如果发现以下信息，说明tcmalloc已经起效：<br/><div class="code"><br/>mysqld&nbsp;&nbsp;&nbsp;&nbsp;10847&nbsp;&nbsp; mysql&nbsp;&nbsp;mem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8,5&nbsp;&nbsp;1203756&nbsp;&nbsp; 20484960 /usr/local/lib/libtcmalloc.so.0.0.0<br/></div><br/><br/>如果看不到这些信息，表示perftools没有配置成功，可能是因为你编译mysql时使用了参数with-mysqld-ldflags=-all-static。<br/><br/><br/><br/>Tags - <a href="http://www.dzhope.com/tags/mysql/" rel="tag">mysql</a> , <a href="http://www.dzhope.com/tags/tcmalloc/" rel="tag">tcmalloc</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] 使用google-perftools 加速MySQL – TCMalloc]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>