gpt4 book ai didi

Jemalloc优化MySQL和Nginx

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 37 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章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从各方评测的结果可见与google tcmalloc都不相伯仲,皆为内存管理器领域最高水平。如下图:

Jemalloc优化MySQL和Nginx

最左边的就是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/srcwget http://www.canonware.com/download/jemalloc/jemalloc-3.4.0.tar.bz2tar xjf jemalloc-3.4.0.tar.bz2cd jemalloc-3.4.0./configuremake && make installecho '/usr/local/lib' > /etc/ld.so.conf.d/local.confldconfig

使用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_safeservice mysqld restart

使用jemalloc优化Nginx 。

编译NGINX时添加以下参数

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

具体实现:

cd lnmp/src/nginx-1.4.2make 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

  。

最后此篇关于Jemalloc优化MySQL和Nginx的文章就讲到这里了,如果你想了解更多关于Jemalloc优化MySQL和Nginx的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com