基于MySQL Workbench的性能调优探索与实践

发表于:2021-7-19 10:07  作者:冯瑶   来源:51Testing软件测试网原创

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 软件测试技术 数据库测试

  摘要:
  MySQL是目前最流行的关系型数据库之一,它具有体积小、速度快、成本低、源码开放、可移植等特点。本文基于MySQL Workbench对项目进行了性能调优实践,通过项目测试中的实例阐述如何监控数据库运行状态、查找问题SQL语句、分析SQL执行情况、SQL调优、处理死锁和选取数据库参数等,形成了一套针对MySQL的通用调优方法,为其他涉及MySQL数据库的项目提供性能调优方法参考。
  关键字:MySQL、性能测试、性能调优

  1 实践背景
  当前很多系统使用开源数据库MySQL开展项目实施。在这个背景下,测试人员需要通过在项目测试中的不断实践和经验累积去掌握MySQL数据库性能调优的方法,实现数据库+性能测试技术的自主可控。
  本文结合近期多个项目测试中遇到的问题,基于MySQL Workbench对性能调优进行了相关的探索和实践,并根据实践经验进行总结,形成了一套基于MySQL Workbench的性能调优通用方法。

  2 基于MySQL Workbench的性能调优方法
  在性能调优实践过程中,使用的数据库是MySQL 8.0.18版本,用到的工具主要是MySQL Workbench,它是一款专为MySQL设计的集成化桌面软件,提供了一整套可视化的数据库操作环境,主要功能有数据库模型建立、SQL开发、执行查询语句、查看性能报告、可视化查询计划、管理配置及检查模式、生成ER图、数据迁移等等。
  基于MySQL Workbench的性能调优具体流程见图1。
图1 MySQL数据库性能调优方法流程图

  (1)首先使用3.1介绍的方法监控数据库运行状态,判断系统是否存在周期性性能问题。
  如果是,可通过增加缓存或修改缓存失效策略来减少MySQL服务器的压力。然后判断是否解决性能问题
  如果是,则结束。
  如果否,可通过增加硬件资源如服务器内存或CPU等来解决性能问题。
  如果否,系统不存在周期性性能问题也就是系统长时间持续有性能问题,则使用3.2介绍的方法查找问题SQL语句。

  (2)查找到问题SQL后,使用3.3介绍的方法进行SQL执行情况分析。
  (3)然后判断SQL是否等待时间长。
  如果是SQL等待时间长,则判断是否有死锁。
  有死锁,则按照3.5介绍的方法进行死锁处理。
  无死锁,则按照3.6介绍的方法进行数据库参数调整。
  如果否,则判断SQL是否执行时间长。
  如果SQL执行时间长,则按照3.4介绍的方法进行SQL调优。然后判断性能问题是否已解决。
  如果已解决,则结束调优。
  如果未解决,则参照3.7介绍的方法进行数据模型优化。

  3 MySQL数据库性能调优实践
  本章节主要介绍在项目测试过程中的性能调优实践过程,包括了监控数据库运行状态、查找问题SQL、SQL执行情况分析、SQL调优、死锁处理、数据库参数选取、数据库模型设计等几个方面的内容。


版权声明:本文出自《51测试天地》第六十二期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任

评 论

论坛新帖



建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海信义律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2021, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道