基准测试(benchmark)是针对系统设计的一种压力测试。基准测试有两种主要的策略:一种是针对整个系统的整体测试,另外是单独测试MySQL。这两种策略也被称为集成式(full-stack)以及单组件式(single-component)基准测试.
基准测试的主要指标有:吞吐量,响应时间或者延迟,并发性,可扩展性。
基准测试的集成式测试工具有:ab(是一个apache HTTP服务器基准测试工具,它可以测试HTTP服务器每秒最多可以处理多少请求.) 、http_load(比ab更加灵活)、JMeter。单组建式测试工具有:mysqlslap、MySQL Benchmark Suit(sql-bench)、Super Smack、Database Test Suite、sysbench等.
MySQL的BENCHMARK()函数
//该函数可以很方便的测试某些特定操作的性能
//比如通过测试可以发现 MD5()函数比SHA1()函数要快。
SET @input := 'hello world';
SELECT BENCHMARK(10000000,MD5(@input));
//[SQL] SELECT BENCHMARK(10000000,MD5(@input));
//受影响的行: 0
//时间: 1.991s
SET @input := 'hello world';
SELECT BENCHMARK(10000000,SHA1(@input));
//[SQL] SELECT BENCHMARK(10000000,SHA1(@input));
//受影响的行: 0
//时间: 2.447s
基准测试应该至少熟悉 sysbench 和http_load 以及ab.
我不等你谁等你,我不等你我等谁,你不等我我等你.