这篇教程已经在2016年3月11日在本博客linpx.com上实践过,包含的内容有,升级或安装Jemalloc,优化优化MySQL和Nginx。
所以现在开始:
升级或安装Jemalloc
wget http://www.canonware.com/download/jemalloc/jemalloc-4.1.0.tar.bz2
tar xjf jemalloc-4.1.0.tar.bz2
cd jemalloc-4.1.0
./configure
make && make install
echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf
ldconfig
使用jemalloc优化MySQL
方法一:
MySQL/MaridDB 编译方法,cmake预编译时加上下面参数
-DCMAKE_EXE_LINKER_FLAGS="-ljemalloc" -DWITH_SAFEMALLOC=OFF
方法二:
使用下面代码自动修改mysqld_safe文件
sed -i 's@executing mysqld_safe@executing mysqld_safe\nexport LD_PRELOAD=/usr/local/lib/libjemalloc.so@' /usr/local/mysql/bin/mysqld_safe
重新启动MYSQL
CentOS 6.x:
service mysqld restart
CentOS 7.x:
systemctl restart mysqld
使用jemalloc优化Nginx
升级Nginx为1.9.12
cd /usr/src
wget http://nginx.org/download/nginx-1.9.12.tar.gz
tar -xzvf nginx-1.9.12.tar.gz
查看自己的Nginx的configure arguments有哪些,下一步的安装编译需要用到
nginx -V
复制configure arguments的内容,在./configure后面带上你复制的内容,然后不要忘了带上--with-ld-opt="-ljemalloc"
cd nginx-1.9.12
make clean
./configure --prefix=/usr/local/nginx --user=www --group=www --with-openssl=/usr/src/openssl-1.0.2g --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-ld-opt="-ljemalloc"
make && make install
验证jemalloc优化Nginx是否生效
lsof -n | grep jemalloc
完毕~
本文由 Chakhsu Lau 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。