ubuntu server下使用Google Performance Tools优化MySQL性能

Posted by Elton's Blog on January 5, 2013

step 1. 因为是64位的系统,所以先要安装libunwind,32位系统可以忽略此步

wget http://download.savannah.gnu.org/releases/libunwind/libunwind-1.1.tar.gz
tar xvzf libunwind-1.1.tar.gz 
cd libunwind-1.1/
CFLAGS=-fPIC ./configure --enable-shared
make CFLAGS=-fPIC
sudo make CFLAGS=-fPIC install

step 2.安装Google Performance Tools

wget http://gperftools.googlecode.com/files/gperftools-2.0.tar.gz
tar xvzf gperftools-2.0.tar.gz 
cd gperftools-2.0/
./configure --prefix=/usr/local/gperftools
#如果是centos,需要./configure --enable-shared --enable-frame-pointers,不能指定目录
make -j8
sudo make install
sudo -i
echo "/usr/local/gperftools/lib" > /etc/ld.so.conf.d/usr_local_gperftools_lib.conf
-- 对应Centos,echo "/usr/local/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
/sbin/ldconfig

step 3. 安装MySQL

tar xvzf mysql-5.5.29.tar.gz 
sudo groupadd mysql
sudo useradd -r -g mysql mysql
cd mysql-5.5.29/
cmake .
make
sudo make install
cd /usr/local/mysql
sudo chown -R mysql .
sudo chgrp -R mysql .
sudo scripts/mysql_install_db --user=mysql
sudo chown -R root .
sudo chown -R mysql data
sudo cp support-files/my-medium.cnf /etc/my.cnf
sudo bin/mysqld_safe --user=mysql &
sudo cp support-files/mysql.server /etc/init.d/mysql.server

以后就可以使用/etc/init.d/mysql.server start来启动MySQL

step 4. 配置Google Performance Tools

sudo vim /usr/local/mysql/bin/mysqld_safe 

在# executing mysqld_safe的下一行,加上: export LD_PRELOAD=/usr/local/gperftools/lib/libtcmalloc.so 重启MySQL后,输入下面命令来检测是否配置成功

sudo lsof -n | grep tcmalloc
mysqld    13152 13171      mysql  mem       REG                8,7  2431969   29363754 /usr/local/gperftools/lib/libtcmalloc.so.4.1.0

如果看到上述的一行,就证明配置成功了。