有哪些有效的方法可以对数据库操作执行程序性能测试,尤其是在数据库本身不提供专用工具的环境中?
例如,在Google App Engine中,整个页面加载被评估为一项操作,其中可能包括特定的数据库操作。SQLite和其他集成DB中也可能出现此问题。由于很难完全抽象出需要测试的(等效)选择和插入内容,是否有推荐的数据库工具对这些类型的查询执行更彻底的诊断?
有哪些有效的方法可以对数据库操作执行程序性能测试,尤其是在数据库本身不提供专用工具的环境中?
例如,在Google App Engine中,整个页面加载被评估为一项操作,其中可能包括特定的数据库操作。SQLite和其他集成DB中也可能出现此问题。由于很难完全抽象出需要测试的(等效)选择和插入内容,是否有推荐的数据库工具对这些类型的查询执行更彻底的诊断?
Answers:
在我看来,您的问题似乎是您正在尝试测试基础数据库中未很好支持的性能指标。这使得比较整个系统的性能非常困难,因为底层方法非常不同。我认为不可能将苹果与苹果进行比较,就像我认为您不能将ORDBMS类型与RDBMS类型的方法进行苹果与苹果的比较一样。性能方面的关注点太过不同,如果Stonebraker正确地指出,针对TPC-C测试优化ORDBMS没能做到这一点,那么对于相距更远的系统而言,这将是不可能的。(不过,我认为他就在那里,仅在ORDBMS功能起作用的地方。)
我认为您应该说实话的是看您将如何使用每个系统,并基于对每个系统所采用的方法来构建基准工具。然后,您至少可以针对该工作流程说基准测试显示特定内容。我不知道您如何概括。您可以进一步在分析器中运行它,以获取有关在各种引擎上进行测试所花费的时间的更多信息。
但是,在最佳情况下,很难使数据库基准测试变得有意义,并且当您比较不同的系统时,就不可能一概而论。