一为什么需要基准测试
唯一方便有效,可以学习系统在给定的工作负载下会发生什么的方法。可以观察系统在不同的压力下的行为,评估系统的容量,掌握哪些是重要的变化,或者观察系统如何处理不同的数据
二基准测试的策略
两种:针对整个系统的整体测试、单独测试MYSQL
三测试何种指标
1.吞吐量
在线业务事务处理(OLTP)吞吐量,测试单位每秒事务数(TPS),每分钟事务数(TPM)
2.响应时间或者延迟
根据不同的时间单位可以计算出平均响应时间,最小响时间,最大响应使劲和所占百分比
3.并发性
需要关注的是正在工作中的并发操作,或者同时工作中的线程数或连接数,当并发性增加时,需要测量吞吐量是否下降,响应使劲是否变长
4.可扩展性
给系统增加一倍的工作量,在理想条件下能获得两倍的结果。
四基准测试时间
让测试一直运行,持续观察直到确认系统已经稳定
五获取系统性能和状态
CPU使用率、磁盘I/O、网络流量统计、SHOW GLOBAL STATUS计数器等
四基准测试工具
集成式测试工具:
ab apache HTTP服务器基准测试工具,只能测试单个URL
http_load 和ab类似,可以通过一个输入文件提供多个URL
JMeter 可以加载其他应用并测试其性能,功能多,较复杂
单组件测试工具
mysqlslqp 可以模拟服务器的负载,并输出计时信息。测试时,可以执行并发连接数,并指定SQL语句。
mysql Benchmark suite(sql-bench)
主要用于测试服务器执行查询的速度,单线程
Super Smack
用于Mysql和PostgreSQL的基准测试工具,可以提供压力测试和负载生成。可以模拟多用户访问
Database Test Suite
Percona‘sTPCC-MySQL Tool 类似TPC-C基准测试工具集
sysbench
多线程系统压测工具,可以根据影响数据库服务器性能的各种因素来评估系统的性能,可以测试文件I/0、操作心态调度器、内存分配和传输速度、POSIX线程,以及数据库服务器等。
支持Mysql、操作系统和硬件测试。
五基准测试案例
sysbench
sysbench的CPU基准测试:
sysbench --test=cput --cpu-max-prime=20000 run
sysbench的文件I/O基准测试:
先生成测试数据文件,大小大于内存大小
sysbench --test=fileio --file-total-size=150G prepare
sysbench --tst=fileio --file-total-size=150G --file-test-mode=rndrw/ --init-rng=on --max-time=300 --max-requests=0 run
seqwr顺序写入 seqewr顺序重写 seqrd顺序读取 rndrd随机读取 rndwr随机写入 rndrw混合随机读/写
删除测试文件
sysbench --test=fileio --file-total-szie=150G cleanup
本文出自 “未来时空” 博客,请务必保留此出处http://sjitwant.blog.51cto.com/3661219/1932532
原文地址:http://sjitwant.blog.51cto.com/3661219/1932532