MySQL优化实战学习笔记(二)

6 数据库测试工具

6.1 在Linux上安装sysbench

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.ch | sudo bash
sudo yum -y install sysbench
sysbench --version

6.2 数据库压力测试用例

sysbench --db-driver=mysql --time=300 --thread=10 --report-interval=1 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=test_user --mysql-password=test_user --mysql-db=test_db --tables=20 --table_size=1000000 oltp_read_write --db-ps-mode=disable prepare
  • 基于mysql驱动去连接mysql
  • 连续访问300s
  • 用10个线程模拟访问
  • 每隔1s输出测试情况
  • 数据库相关信息
  • 20个测试表,每个表100万条测试数据
  • 执行oltp数据库的读写测试
  • 静止ps模式

6.3 数据库测试的时候注意事项

  • 在机器满负荷运行条件下测出的数据,没有代表性。因为生产环境下,不能允许机器出现临界状态。
  • 在测试的过程中不断增加线程数目,但是要注意机器的其他属性应该在合理范围之内。
  • 总结一下,一定要在硬件合理的负载范围之下,把数据库的QPS提高到最大。这才可以得到一个相对合理的数据。而并不是追求一个极限值。

打造数据库可视化监控技术

Prometheus 和 Grafana

Prometheus是一个监控、数据采集系统。它可以利用监控数据采集组件,从我指定的mysql数据库中采集需要的监控数据。并且把监控结果保存在文件之中。

Grafana是一个可视化的监控数据展示系统。他可以把Prometheus获得的数据,自动的制作成精美的图标。

不光是数据库,对于各种Java系统和中间件系统,都可以用这一套组合去进行可视化的监控。

上一篇:windows10版本激活方法


下一篇:MySQL 5.7 vs 8.0,哪个性能更牛?网友吵开了锅!