在过去(单线程)时代,我们指示我们的测试团队始终报告 CPU 时间,而不是应用程序的实时时间。这样,如果他们说在版本 1 中一个 Action 需要 5 CPU 秒,而在版本 2 中需要 10 CPU 秒,我们就有问题了。
现在,随着多线程越来越多,这似乎不再有意义了。应用程序的版本 1 可能需要 5 CPU 秒,而版本 2 需要 10 CPU 秒,但是如果版本 1 是单线程的,版本 2 仍然更快,而版本 2 使用 4 个线程(每个线程消耗 2.5 CPU 秒) .
另一方面,使用实时比较性能也不可靠,因为它可能受到许多其他因素的影响(其他应用程序正在运行、网络拥塞、非常繁忙的数据库服务器、碎片化磁盘……) .
在您看来,“计算”绩效的最佳方式是什么? 希望这不是直觉,因为这不是客观的“值(value)”,可能会导致开发团队和测试团队之间发生冲突。
最佳答案
性能需要在测量之前定义。
是吗:
- 内存消耗?
- 任务完成时间?
- 磁盘空间分配?
定义后,您可以决定指标。
关于testing - 应用程序 'indicate/numerate' 性能的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2341034/