用sysbench循环100次做压力测试


#!/bin/bash

count=1
while [ $count -le 100 ]
do
sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --max-requests=10000 --num-threads=100 --mysql-host
=192.168.1.111    --mysql-port=3308 --mysql-user=admin --mysql-password=admin123 --mysql-db=test --mysql-socket=/tmp/mysql.s
ock run

let count++
done


场景一,innodb和系统自带的malloc,版本mysql5.1.43

场景二,innodb_plugin 1.0.6和Tcmalloc,版本mysql5.1.43

可以通过参数innodb_use_sys_malloc来控制InnoDB_Plugin是否使用系统的内存分配器。innodb_use_sys_malloc设置成0,InnoDB将使用自己实现的内存管理功能;设置为ON时(默认设置),则使用系统的内存分配器。这时如果系统中安装了新的内存分配器(如TCMalloc),只需在启动MySQL时,设定环境变量LD_PRELOAD和LD_LIBRARY_PATH指向新分配的动态连接库就可以了。

查看附件里的截图

可以明显看到用了Tcmalloc后内存降低了1倍左右。

Tcmalloc安装文档:
http://blog.s135.com/post/349/