首页 » Mysql » 正文

Mysql性能压测实践报告

这是一个很能干的同事做的性能压测报告,同事并没有使用jmeter和一些其他的如Sysbench, Mysqlslap等性能测试工具,而是根据测试特点单独开发了一个实用的测试工具,测试包括:

1. 最小包查询的响应时间分布,1K包查询响应时间分布,不同大小包的查询和插入的吞吐量/响应时间的分布。

结果:随着包大小的增大,吞吐量和响应时间有显著的下降

2. 查询和插入在自增主键和UUID主键下随着包大小的变化导致吞吐量/响应时间的分布。

结果:最小包情况下,自增主键和UUID主键的性能相差不大,1K包的情况下,自增主键的性能要远高于UUID主键。

3. 不开启事务优化和开启事务优化,性能对比。

结果:开启事物优化能够极大的提高性能,但是,这也带来了丢失数据的风险。下面是mysql官网对事务优化的解释:

If you can afford the loss of some of the latest committed transactions if a crash occurs, you can set the innodb_flush_log_at_trx_commit parameter to 0. InnoDB tries to flush the log once per second anyway, although the flush is not guaranteed. Also, set the value of innodb_support_xa to 0, which will reduce the number of disk flushes due to synchronizing on disk data and the binary log. 

更多事务优化,请参考:http://dev.mysql.com/doc/refman/5.5/en/optimizing-innodb-transaction-management.html

测试报告:MYSQL数据量-性能测试报告02-