博客
关于我
MySQL服务器性能(通过Sysbench测试cpu、io、内存以及mysql服务等)
阅读量:537 次
发布时间:2019-03-09

本文共 2263 字,大约阅读时间需要 7 分钟。

Sysbench性能测试指南

1. CPU性能测试

采用最大素数寻找算法进行CPU性能评估。

sysbench --test=cpu --cpu-max-prime=2000 run

测试结果:

  • 平均每次事件时间:0.15ms
  • 95百分位事件时间:0.31ms
  • 总事件次数:10000次
  • 总时间:1.5秒

2. 线程性能测试

测试线程性能及系统资源竞争情况。

sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run

测试结果:

  • 平均每次事件时间:12.83ms
  • 95百分位事件时间:42.09ms
  • 总事件次数:10000次
  • 总时间:2.02秒

3. 文件IO性能测试

3.1 测试文件准备

使用随机读写模式生成大文件,文件总大小1000M,支持16个并发线程。

sysbench --test=fileio --num-threads=16 --file-total-size=1000M --file-test-mode=rndrw prepare

3.2 测试执行

启动文件IO性能测试。

sysbench --test=fileio --num-threads=16 --file-test-mode=rndrw run

测试结果:

  • 总操作数:22687次
  • 读取数据量:93.86MB
  • 写入数据量:62.58MB
  • 总数据传输量:156.44MB
  • 平均每次事件时间:0.14ms
  • 95百分位事件时间:0.41ms
  • 总事件次数:10012次
  • 总时间:0.73秒

3.3 文件清理

执行测试后清理临时生成的文件。

sysbench --test=fileio --num-threads=16 --file-test-mode=rndrw cleanup

4. 既定语句队列测试

测试锁机制的性能表现。

sysbench --test=mutex --num-threads=16 --mutex-num=1024 --mutex-locks=10000 --mutex-loops=5000 run

测试结果:

  • 总操作数:16次
  • 平均每次事件时间:109.20ms
  • 95百分位事件时间:114.19ms
  • 总时间:0.12秒

5. 内存性能测试

测试内存操作效率。

sysbench --test=memory --num-threads=512 --memory-block-size=262144 --memory-total-size=32G run

测试结果:

  • 平均操作时间:4.91ms
  • 最大操作时间:1173.07ms
  • 总事件次数:131072次
  • 总时间:2.16秒

6. 数据库性能测试

基于InnoDB引擎的关系型数据库性能测试,重点评估OLTP场景下的事务及数据处理能力。

6.1 数据准备

创建数据库并准备测试数据,支持两种事务测试模式:简单、复杂、非事务和SP指令。

6.2 测试执行

执行OLTP测试,评估不同事务模式下的性能表现。

sysbench --test=oltp --mysql-table-engine=innodb --mysql-user=root --db-driver=mysql --mysql-db=test --oltp-table-name=t1 --oltp-table-size=30000000 run

测试结果(基于非事务测试模式):

  • 总操作数:210000次
  • 读取操作:140000次
  • 写入操作:50000次
  • 其他操作:20000次
  • 总事务数:10000次
  • 平均每次事务时间:2.85ms
  • 95百分位事务时间:5.95ms
  • 总时间:28.55秒

6.3 数据清理

清理当前测试数据库,准备下次测试使用。

7. 高并发测试

针对19704万次操作的插入测试,评估数据库的插入性能。

sysbench --test=oltp --oltp-test-mode=nontrx --oltp-nontrx-mode=insert --mysql-table-engine=innodb --num-threads=500 --max-requests=20000000 run

测试结果:

  • 总操作数:20007732次
  • 平均每次事件时间:58.43ms
  • 95百分位事件时间:83.54ms
  • 总时间:2338.45秒

7. 混合测试

评估复杂的事务模式下的混合读写性能。

sysbench --test=oltp --oltp-test-mode=complex --mysql-table-engine=innokud --num-threads=500 --max-requests=20000000 run

测试结果:

  • 总操作数:420002478次
  • 平均每次事件时间:434.59ms
  • 95百分位事件时间:856.09ms
  • 总时间:17384.17秒

7. 远程测试

使用远程主机执行数据准备和读写操作,适用于跨环境性能评估。

sysbench --test=oltp --oltp-test-mode=nontrx --mysql-host=xxxx.xx --num-threads=500 --max-requests=20000000 run

测试结果显示,针对远程环境的性能表现需要结合网络带宽和延迟等因素进行评估,建议使用性能监控工具配合测试。

转载地址:http://sedsz.baihongyu.com/

你可能感兴趣的文章
Qt在pro中管理多个子项目(子工程)
查看>>
error LNK2019:无法解析的外部符号_imp_CryptAcquireContextA@20
查看>>
error LNK2001:无法解析的外部符号_imp_timeGetTime@0
查看>>
JWPlayer 7的正确使用方法及Flash plugin failed to load解决方法
查看>>
网络摄像机传输协议简析
查看>>
OpenCV4.0 快速QR二维码检测测试示例
查看>>
Qt之QImage无法获取图片尺寸(宽和高)
查看>>
美人秀色空绝世,我用PS-GAN试伊妆
查看>>
MYSQL 数据查询语言 多表连接查询
查看>>
机器学习研究者的养成指南,吴恩达建议这么读论文
查看>>
媒智科技--深度学习算法&Python后台开发--热招中~
查看>>
Mongodb默认日志的清理!
查看>>
MySQL Workbench用csv格式导出数据乱码
查看>>
YolactEdge:首个开源边缘设备上的实时实例分割(Jetson AGX Xavier: 30 FPS)
查看>>
源码编译安装MySQL5.6.12详细过程
查看>>
Nginx安装学习使用详细记录
查看>>
推荐几篇近期必看的视觉综述,含GAN、Transformer、人脸超分辨、遥感等
查看>>
Sqlite -- 数据迁移备份--从低版本3.6.2到高版本3.8.6
查看>>
刚刚!频域通道注意力网络FcaNet开源了!
查看>>
百度视觉技术部人脸检测方向招聘实习生~北京
查看>>