香港服务器租用MySQL基准测试

作者:港云互联 时间:2019-09-26

        基准测试(benchmark)是MySQL新手和专家都需要掌握的一.项基本技能。简单地说,基准测试是针对系统设计的种压力测试。通常的目标是为了掌握系统的行为。但也有其他原因,如重现某个系统状态,成者是做新硬件的可靠性测试。本文将讨论MySQL和基于MySQL的应用的基准测试的重要性、策略和工具。我们将特别讨论一下sysbench,这是一款 非常优秀的MySQL基准测试工具。

香港服务器

为什么需要基准测试


        为什么基准测试很重要?因为基准测试是唯一方便有效的、可以学习系统在给定的工作负载下会发生什么的方法。基准测试可以观察系统在不同压力下的行为,评估系统的容量,掌握哪些是重要的变化,戒者观察系统如何处理不同的数据。基准测试可以在系统实际负载之外创造. 些虚构场最进行测试。 基准测试可以完成以下工作,或者更多;


(1)验证基于系统的些假设,确认这些假设是 否符合实际情况。


(2)重现系统中的某些异常行为,以解决这些异常。


(3)测试系统当前的运行情况。如果不清楚系统当前的性能,就无法确认某些优化的效果如何。也可以利用历史的基准测试结果来分析诊断"此无法预测的问题。


(4)模拟比当前系统更高的负载,以找出系统随着压力增加而可能遇到的扩展性瓶颈。规划未来的业务增长。基准测试可以评估在项目未来的负载下,需要什么样的硬件,需要多大容量的网络,以及其他相关资源。这有助于降低系统升级和重大变更的风险。


(5)测试应用适应可变环境的能力。例如,通过基准测试,可以发现系统在随机的并发峰值下的性能表现,或者是不同配置的服务3之间的性能表现。基准测试也可以测试系统对不同数据分布的处理能力。



(6)测试不同的硬件、软件和操作系统配置。比如IRAID 5还是RAID 10更适合当前的系统?如果系统从ATA硬盘升级到SAN存储,对于随机写性能有什么帮助? Linux2.4系列的内核会比2.6系列的可扩展性更好吗?升级MySQL 的版本能改善性能吗?为当前的数据采用不同的存储引擎会有什么效果?所有这类问题都可以通过专门的基准测试来获得答案。


(7)证明新采购的设 备是否配置正确。笔者曾经无数次地通过基准测试来对新系统进行压测,发现了很多错误的配置,以及硬件组件的失效等问题。因此在新系统正式上线到生产环境之前进行基准测试是一个好习惯,永远不要相信主机提供商或者硬件供应商的所谓系统已经安装好,井且能运行多快的说法。如果可能,执行实际的基准测试永远是一个好主意。


        基准测试还可以用于其他目的,比如为应用创建单元测试套件。但本章我们只关注与性能有关的基准测试。


        基准测试的一个主要问题在于其不是真实压力的测试。基准测试施加给系统的压力相对真实压力是不可预期而且变化多端的,有时候情况会过于复杂而难以解释。所以使用真实压力测试,可能难以从结果中分析出确切的结论。


        基准测试的压力和真实压力在哪些方面不同?有很多因素会影响基准测试,比如数据量、数据和查询的分布,但最重要的-点还是基准测试通常要求尽可能快地执行完成,所以经常给系统造成过大的压力。在很多案例中,我们都会调整给测试工具的最大压力,以在系统可以容忍的压力固值内尽可能快地执行测试,这对于确定系统的最大容量非常有帮助。然而大部分压力测试工具不支持对压力进行复杂的控制。务必要记住,测试工具自身的局限也会影响到结果的有效性。


        使用基准测试进行容量规划也要掌提技巧,不能只根据测试结果做简单的推断。例如,假设想知道使用新数据库香港服务器租用后,系统能够支撑多大的业务增长。首先对原系统进行基准测试,然后对新系统做测试,结果发现新系统可以支持原系统40倍的TPS (每秒事务数),这时候就不能简单地推断说新系统一定可以支持40倍的业务增长。这是因为在业务增长的同时,系统的流量、用户、数据以及不同数据之间的交互都在增长,它们不可能都有40倍的支撑能力,尤其是相互之间的关系。而且当业务增长到40倍时,应用本身的设计也可能已经随之改变。可能有更多的新特性会上线,其中某些特性可能对数据库造成的压力远大于原有功能。而这些压力、数据、 关系和特性的变化都很难模拟,所以它们对系统的影响也很难评估。


        结论就是,我们只能进行大概的测试,来确定系统大致的余量有多少。当然也可以做一些真实压力测试(和基准测试有区别),但在构造数据集和压力的时候要特别小心,而且这样就不再是基准测试了。基准测试要尽量简单直接,结果之间容易相互比较,成本低且易于执行。尽管有诸多限制,基准测试还是非常有用的(只要搞清楚测试的原理,并且了解如何分析结果所代表的意义)。







新人注册,即送价值满880元现金劵

立即注册>>
客服 电话 反馈 活动 回顶部

服务热线

+852-5764-9835

1对1贴心服务

7*24小时热线