//

Information for details

设计和规划基准测试

  规划基准的测试的第一步是提出问题并明确目标。然后决定是采用标准的基准测试,还是设计专用的基准测试。

  如果采用标准的基准测试,应该确认选择合适的测试方案。例如,不要使用TPC-H测试电子商务系统。在TPC的定义中,“TPC-H是即席查询和决定支持性的应用的基准测试”。因此不适用用来测试OLTP系统。

  设计专用的基准测试是很复杂的,往往需要一个选代的过程。首先需要获得生产数据集的快照,并且该快照是很容易还原的,以便进行后续的测试。

  然后,针对数据运行查询。可以建立一个单元测试作为初步的测试,并运行多遍,但是这和真实的数据库环境是很有差别的,更好的办法是选择一个更好的时间段,比如高峰期的一个小时,或者一整天,记录生产系统上的所有查询,如果时间短选的比较小,则可以选择多个时间段。这样有助于覆盖整个系统的活动状态,了如每周报表的查询,或者非峰值时间运行的批处理作业。

  可以再不同级别记录查询。例如,如果是集成式基准测试,可以记录WEB服务器上的HTTP请求,也可以打开MYSQL的查询日志。倘若要重演这些查询,就要确保创建多线程来并行执行,而不是当线程型地执行。对日志中的每个连接都应该创建独立的线程,而不是将所有的查询随机的分配到一些线程中。查询日志中记录了每个查询是哪个连接中执行的。

  即使不需要创建专用的基准测试,详细地写下测试规划也是必须的。测试可能要多次反复运行,因此需要精确地重现测试过程。而且也应该考虑到未来,进行下一轮测试的时候可能已经不是一个人了。即使还是同一个人,也有可能不会确切地记得初次运行时的情况。测试规划应该记录测试数据,系统配置的步骤,如何测量和分析结果,以及预热的方案等。

  应该建立将参数和结果文档化的规范,每一轮测试都必须进行详细记录,文档规范可以很简单,比如采用电子表格或者记事本形式,也可以是复杂的自定义的数据库。需要记住的是,经常要写一些脚本来分析测试结果,因此结果能够不用打开电子表格或者文本文件等额外操作,当然是最好的。


  • 滇公网安备 53010202001388号