mysql tcmalloc_tcmalloc优化mysql性能测试

tcmalloc的算法优化了glibc的malloc等内存分配函数,通过预分配大内存然后分割来避免内存碎片,同时提高内存分配效率,使用场景为多线程,大内存操作

mysql使用tcmalloc可以提高线程池分配新线程,线程对内存的malloc和free,提高dml的效率(select 的影响不如dml明显,一方面有qcache的存在,另一方面dml作用于buffer,然后buffer根据lru算法flush更加频繁)

安装tcmalloc

1) 安装libunwind 0.99

CFLAGS=-fPIC ./configure

make CFLAGS=-fPIC

make CFLAGS=-fPIC install

2) 安装tcmalloc

./configure

make&&make install

3) 添加到LD_LIBRARY_PATH

#cd /etc/ld.so.conf.d/

#echo "/usr/local/lib">local_lib.conf

#ldconfig

5.5 之前的mysql调整/etc/init.d/mysql 或者mysqld_safe

添加 export LD_PRELOAD=/usr/lib/libtcmalloc.so /* 或者编译后的位置 */

5.5 还可以在my.cnf添加参数

[mysqld_safe]

malloc-lib=tcmalloc

启动mysql #lsof -n | grep -i tcmalloc 查看是否已加载

3) mysql使用tcmalloc和glibc malloc的性能对比

场景为500并发的 标准tpc-b 测试,结果为

使用前

Statistics for the Userload:

User Load TPS kBPS Avg. Response Time (sec) Avg. Transaction Time (sec) Total Executions Total Rows Total Errors

500 390.92 3.127 0.098 0.101 70255 70255 0

使用后

Statistics for the Userload:

User Load TPS kBPS Avg. Response Time (sec) Avg. Transaction Time (sec) Total Executions Total Rows Total Errors

500 462.76 3.702 0.163 0.168 83237 83237 0

tps从390->462,提高18%

阅读(1206) | 评论(0) | 转发(0) |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值