使用tcmalloc提升mysql性能
2016-04-23 16:07
441 查看
网上搜到了tcmalloc,说是这个东西可以让MySQL在高并发下性能也很稳定,同时也说了MySQL这个问题是因为malloc内存分配函数的bug,这个bug会使高并发的MySQL性能急剧下降。
使用google的tcmalloc 内存分配函数代替libc里的标准malloc.
google的开源性能优化工具包 perftool 被证明对提高应用程序性能确有帮助. tcmalloc是其中一个, 与标准的malloc相比, 在内存的分配上效率很高; 编译mysql时建议使用tcmalloc库–
简单来说, 只要在./configure 后生成的Makefile里改一下, 在连接库的那行最后面加上 -ltcmalloc即可.
如果已经使用的是已编译的binary,或者只想简单测试一下tcmalloc的效果, 可以用LD_PRELOAD环境变量制定运行时使用tcmalloc库; 例如在mysqld_safe里加入
export LD_PRELOAD=/usr/local/lib/libtcmalloc.so
确定程序是否使用tcmalloc库可以用lsof命令:
lsof -n| grep tcmalloc
ibunwind: http://www.nongnu.org/libunwind/
tcmalloc: http://goog-perftools.sourceforge.net/doc/tcmalloc.html
详细的安装步骤:
在此脚本文件开始加入
LD_PRELOAD=”/usr/local/lib/libtcmalloc.so”
使用google的tcmalloc 内存分配函数代替libc里的标准malloc.
google的开源性能优化工具包 perftool 被证明对提高应用程序性能确有帮助. tcmalloc是其中一个, 与标准的malloc相比, 在内存的分配上效率很高; 编译mysql时建议使用tcmalloc库–
简单来说, 只要在./configure 后生成的Makefile里改一下, 在连接库的那行最后面加上 -ltcmalloc即可.
如果已经使用的是已编译的binary,或者只想简单测试一下tcmalloc的效果, 可以用LD_PRELOAD环境变量制定运行时使用tcmalloc库; 例如在mysqld_safe里加入
export LD_PRELOAD=/usr/local/lib/libtcmalloc.so
确定程序是否使用tcmalloc库可以用lsof命令:
lsof -n| grep tcmalloc
ibunwind: http://www.nongnu.org/libunwind/
tcmalloc: http://goog-perftools.sourceforge.net/doc/tcmalloc.html
详细的安装步骤:
tar zxvf libunwind-0.98.6.tar.gz
cd libunwind-0.98.6
./configure
make
make install
tar zxvf google-perftools-0.94.1.tar.gz
cd google*
./configure
make
make install
打开 mysqld_safe 脚本 (默认在/usr/bin/mysqld_safe)在此脚本文件开始加入
LD_PRELOAD=”/usr/local/lib/libtcmalloc.so”
/usr/local/mysql5/bin/mysqld_safe &
相关文章推荐
- jsp中连接MySQL数据库
- saltstack应用之批量部署mysql
- mysql for windows zip版安装
- 设置MySQL自动增长从某个指定的数开始
- MySQL绿色版安装(mysql-5.7.12-win32)
- 项目--解决MySQL数据库插入中文乱码
- mysql备份与恢复(笔记一)
- 聊聊MySql系列_Index
- 处理mysqldump导出文件案例之文件大小为0
- mysql sql 语句使用:
- Mysql学习笔记
- MySQL 删除数据库中重复数据方法小结
- IPv6设置后如何解决MySQL无法连接localhost的问题
- mysql如何确认复合索引有使用到哪些索引字段的测试
- 关于MySQL的外部连接授权配置
- LuManager图文安装使用教程和创建MysqL快速建站基本教程
- 定义不对domain类的hashCode和domain的PO注释引起的mysql内存泄露
- MySQL安装.md
- MySql高效分页SQL
- mysql中行锁等待的查看