黄金法则:MySQL基准测试最佳实践

  MySQL 基准测试数据库性能优化中是一个很是重要的分支。本文目的在于让读者对关系型数据库系统有一个基本的了解,掌握MySQL以及如何管理使用 Linux。文中讨论了MySQL性能因素以及如何测试CPU性能,同时使用具体的例子来展现几种实用的测试MySQL系统的实践方法。
  为何数据库管理员要在MySQL系统上运行基准测试呢?答案显而易见,假若在一个模拟的实时环境中系统设计可以承受住压力而且知足性能目标,那么数据库管理员也无需大费周章了。
  在深刻了解MySQL基准测试程序机制前,弄清楚什么是基准测试,这一点很是重要。简单来讲,基准测试是“运行计算机程序或操做行为,经过运行一些标准测试和一系列的映托来评估对象的相对性能。”
  CPU基准测试主要用来测试硬件和运算能力,而软件基准测试更多的则是测试概念元素。
  在咱们的案例中,软件基准测试中数据库管理系统基准测试是一个很好的例子。这种类型的测试目的是衡量数据库管理系统的吞吐量和响应时间。最终的测试结果会以分数显示,而这些分数主要用来比较。
  数据库管理员通常很难分清基准测试和 压力测试之间的区别。这一点咱们能够理解,由于这两种条件有着相似的目标,即数据库容量。二者明显的不一样点在于:基准测试给出的结果,以数字呈现,可以容许你在每一个基准测试和服务器/系统中调整设置,这是能够改变的,同时也能反应出数据库管理员是成功仍是失败。而压力测试则是把系统推向极端边缘用以了解系统的极限有多大。
  因为本文重点讨论MySQL基准测试而非压力测试,全部后者咱们再也不进行讨论。在MySQL服务器运行基准测试时,性能因素是数据库管理员必须考虑的问题。那么,有哪些性能因素?答案就是:吞吐量,延迟时间和可扩展性。将这三个因素结合在一块儿,表明了MySQL服务器的总体性能。
   那么咱们如何进行MySQL基准测试呢?为了获取正确的结果,请遵照如下一些规则:
  应该屡次检查输入的数据;
  应该屡次运行基准测试,至少5次;
  从新启动MySQL服务器以消除任何没必要要的缓存因素;
  数据库管理员要有兴趣、认真对待进程。
   下面有几个影响基准测试的例子,咱们在任什么时候候都应当避免这种状况出现:
  在一台单一的虚拟机上运行基准测试;
  不可忽视不一样网络基础设施的影响;
  使用MySQL服务器默认设置;
  无需根据服务器配置特定的和独特的业务需求;
  没法消除缓存问题;
  运行基准测试时,忽视任何没必要要的缓存问题。
   如何在MySQL上运行基准测试?
  在构建MySQL网站时把现有的技术文档增长到MySQL基准测试中,这是一个很是实用的基准测试功能。MySQL开发团队称,BENCHMARK ()函数常被用来测试MySQL进程有多快?它适用于MySQL客户端。
  详细功能显示如:BENCHMARK (count, expr): The BENCHMARK ()函数执行的表达式为expr重复计算次数。测试的结果值始终为0。基准测试最重要的数字出如今几秒钟时间内。以下图示例:


最新内容请见做者的GitHub页:http://qaseven.github.io/