1.对于一台安装mysql数据库的服务器来说比较重要的资源就是iops(I/O per second)与内存,所以在安装部署一台数据库服务器来说最好先测试一下该服务器的iops性能,这里使用sysbench测试。
2.sysbench的安装与使用
下载地址https://github.com/akopytov/sysbench/releases 找到对应版本下载
解压tar包:
cd sysbench
./autogen.sh
./configure
make && make install
3.使用某一目录生成测试文件:
cd /data/test
sysbench --test=fileio --file-num=4 --file-block-size=8k --file-total-size=4G --file-test-mod=rndrd --file-extra-flags=direct --max-requests=0 --time=1200 --threads=4 prepare
--test=fileio ##测试服务器的io性能,还可以测试内存,cpu等
--file-num=4 ##生成4个测试文件
--file-block-size=8k ##文件块大小,这个值最好与mysql数据库的innodb_page_size大小一致
--file-total-size=4G ##4个文件总大小
--file-test-mod=rndrd ##测试随机io读性能,随机io写为rndwr,一般只用测试随机读写io,顺序io性能不测试
--file-extra-flags=direct ##测试文件写入磁盘,跳过缓存,对应mysql中的参数innodb_flush_method=O_DIRECT,直接跳过先写入文件系统缓存,直接落盘。会影响mysql性能,但是可以提高数据安全性.
--max-requests=0##最多请求次数,0表示不限制
--time=1200 ##最大持续时间
--threads=4 ##处理线程数
prepare ##生成文件,对应参数还有run开始测试,cleanup清理测试文件
生成对应文件后开始测试,使用run参数
3.开始测试磁盘随机读性能
--report-interval=3 每3秒生成一次报告信息
4.在运行sysbench时,通过iostat查看磁盘信息:
iostat -xm 3##每3秒刷新一次信息,xm扩展输出信息的单位为m/s
比较重要的值为r/s,w/s,%util这边查看到%util为100.说明磁盘基本满载,达到性能上限.
5.查看sysbench运行完成信息并计算iops值。
在上面中,测试的是随机读性能,可以通过这个参数计算出对于数据库比较重要的iops值:
4.67X1024/8(file-block-size)=597 ##磁盘这就是每秒随机读性能,属于比较高的值,正常SSD磁盘基本在300iops,另外在正式环境中应该测试时间设置为一天或两天测试出的值,才是比较准确的.
6.查看服务器磁盘调度算法:
这里直接为deadline,无需修改。如果为 noop或cfq建议改为deadline. 修改方法echo deladline >/sys/block/xvde/queue/scheduler
相关文章
- 05-16【指标测试】影响IOPS的几个重要因素
- 05-16【手写笔记】服务器上配置环境+nginx启动+配置安全组+测试html+wget+爬虫+上传文件scp+rsync+网页+更改域名+看自己的ip+爬虫项目+asca+shell编程+
- 05-16性能测试分析与性能调优诊断--史上最全的服务器性能分析监控调优篇
- 05-16基于iDRAC开发全新接口,用于获取服务器更详细的信息(适用于dell服务器,其他服务器未测试)
- 05-16如何针对音视频流媒体服务器分发的RTSP视频流进行并发压力测试?
- 05-16如何针对音视频流媒体服务器分发的RTSP视频流进行并发压力测试?
- 05-16配置基于虚拟用户的FTP服务器并测试
- 05-16用python做自动化测试--对服务器端的自动化测试(2)-更多http client实例
- 05-16服务器又崩了?10年+性能测试老鸟给测试工程师的忠告
- 05-16用于在公网环境下测试的Telnet/SSH服务器