基准测试

基准程序测试是应用程序开发生命周期的常规组成部分。 这是由应用程序开发者和数据库管理员 (DBA) 等团队成员参与的工作。

基准程序测试对系统执行,用于确定当前性能,并可用于提高应用程序的性能。 即使已将应用程序代码编写得尽可能效率高,也可以通过调整数据库和数据库管理器配置参数来进一步提高性能。

可以通过不同类型的基准程序测试来发现特定类型的信息。 例如:
  • 基础结构基准程序确定数据库管理器在特定受限实验室条件下的吞吐量能力。
  • 应用程序基准程序确定数据库管理器在更接近于生产环境的条件下的吞吐量能力。
用于调整配置参数的基准程序测试基于受控条件进行。 此类测试涉及在不断更改系统配置(并可能更改 SQL 语句)的情况下反复运行应用程序中的 SQL 语句,直到应用程序尽可能高效运行为止。

同一方法也可用于调整其他将对性能产生影响的因素,例如索引、表空间配置和硬件配置。

基准程序测试可以帮助您了解数据库管理器如何对各种不同条件作出反应。 您可以创建多个方案来测试死锁处理、实用程序性能、装入数据的不同方法以及添加更多用户后事务执行速率的特征,甚至还可测试使用新发行版的数据库产品对应用程序产生的影响。

基准程序测试基于可重复的环境,因此在相同条件下运行的相同测试将产生可以合理比较的结果。 您可以通过在正常环境中运行测试应用程序入手。 随着您缩小性能问题的范围,可以开发专用的测试用例,以便限制所测试的功能的作用域。 这些专用测试用例不需要仿真整个应用程序即可获得有价值的信息。 从简单的评估开始,只有在必要时才提高复杂程度。

良好的基准程序应具有下列特征:
  • 测试可重复
  • 测试的每次迭代都在相同系统状态下开始
  • 系统中不存在任何意外地处于活动状态的其他功能或应用程序
  • 用于基准程序测试的硬件和软件与生产环境匹配

注意,已启动的应用程序即使处于空闲状态也会耗用内存。 这将增大页面调度导致基准程序的运行结果产生偏差和违反可重复性条件的概率。