程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Jemalloc優化MySQL和Nginx

Jemalloc優化MySQL和Nginx

編輯:關於JAVA

Jemalloc優化MySQL和Nginx。本站提示廣大學習愛好者:(Jemalloc優化MySQL和Nginx)文章只能為提供參考,不一定能成為您想要的結果。以下是Jemalloc優化MySQL和Nginx正文


jemalloc源於Jason Evans 2006年在BSDcan conference揭橥的論文:《A Scalable Concurrent malloc Implementation for FreeBSD》。jason以為phkmalloc(FreeBSD's previous malloc implementation by Kamp (1998))沒有斟酌多處置器的情形,是以在多線程並發下機能低下(現實如斯),而jemalloc合適多線程下內存分派治理。從2007年開端以FreeBSD尺度引出去。軟件技巧改革許多是FreeBSD提議,在FreeBSD運用普遍的技巧會漸漸導入到Linux中。

Redis 2.4版本以後,默許應用jemalloc來做內存治理;tengine也整合jemalloc。jemalloc從各方評測的成果可見與谷歌 tcmalloc都不相手足,皆為內存治理器范疇最高程度。以下圖:

最右邊的就是glibc的malloc,最左邊的就是jemalloc。從圖表上可以看出,jemalloc的機能有glibc的兩倍以上。異常壓服性的機能差別。是以,應用了jemalloc的運用法式天然會快許多。Jemalloc旁邊的就是tcmalloc。Tcmalloc的機能與其相差甚微,低jemalloc2.1.0慢4.5%。圖上和tcmalloc的1.4版本,而如今曾經到2.1版本,是以現實上這二者應當是不相仲伯的。Jemalloc的開創人jason evans也認識到這一點,說在cpu core 8以上的盤算機上jemalloc效力更高。

MySQL機能測試--jemalloc內存治理:http://www.linuxeye.com/Linux/1914.html

jemalloc作為可選項曾經添加到《lnmp最新源碼一鍵裝置包》

裝置jemalloc

cd lnmp/src
wget http://www.canonware.com/download/jemalloc/jemalloc-3.4.0.tar.bz2
tar xjf jemalloc-3.4.0.tar.bz2
cd jemalloc-3.4.0
./configure
make && make install
echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf
ldconfig

應用jemalloc優化MySQL

辦法一:

MySQL/MaridDB 5.5編譯辦法,cmake預編譯時加高低面參數

-DCMAKE_EXE_LINKER_FLAGS="-ljemalloc" -DWITH_SAFEMALLOC=OFF

辦法二:

直接加載修正mysqld_safe
查找文件 /usr/local/mysql/bin/mysqld_safe
在#executing mysqld_safe 上面加上
LD_PRELOAD=/usr/local/lib/libjemalloc.so

從新啟動MYSQL
應用上面代碼主動修正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
service mysqld restart

應用jemalloc優化Nginx

編譯NGINX時添加以下參數:

--with-ld-opt="-ljemalloc"

詳細完成:

cd lnmp/src/nginx-1.4.2
make clean
./configure --prefix=/usr/local/nginx --user=www --group=www \
--with-http_stub_status_module --with-http_ssl_module --with-http_flv_module \
--with-http_gzip_static_module --with-ld-opt="-ljemalloc"
make && make install

驗證jemalloc優化Nginx能否失效,以下

lsof -n | grep jemalloc
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved