Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing 什么';这是去';表示/计算';应用程序的性能?_Testing_Performance - Fatal编程技术网

Testing 什么';这是去';表示/计算';应用程序的性能?

Testing 什么';这是去';表示/计算';应用程序的性能?,testing,performance,Testing,Performance,在过去(单线程)的日子里,我们指示我们的测试团队总是报告CPU时间,而不是应用程序的实时性。这样,如果他们说在版本1中一个操作需要5个CPU秒,而在版本2中需要10个CPU秒,那么我们就有问题了 现在,随着多线程越来越多,这似乎不再有意义了。一个应用程序的版本1可能需要5个CPU秒,版本2需要10个CPU秒,但是如果版本1是单线程的,版本2使用4个线程(每个线程消耗2.5个CPU秒),那么版本2会更快 另一方面,使用实时来比较性能也不可靠,因为它会受到许多其他因素的影响(其他正在运行的应用程序、

在过去(单线程)的日子里,我们指示我们的测试团队总是报告CPU时间,而不是应用程序的实时性。这样,如果他们说在版本1中一个操作需要5个CPU秒,而在版本2中需要10个CPU秒,那么我们就有问题了

现在,随着多线程越来越多,这似乎不再有意义了。一个应用程序的版本1可能需要5个CPU秒,版本2需要10个CPU秒,但是如果版本1是单线程的,版本2使用4个线程(每个线程消耗2.5个CPU秒),那么版本2会更快

另一方面,使用实时来比较性能也不可靠,因为它会受到许多其他因素的影响(其他正在运行的应用程序、网络拥塞、非常繁忙的数据库服务器、碎片化的磁盘等等)

您认为“计算”绩效的最佳方式是什么?
希望这不是直觉,因为这不是一个客观的“价值”,可能会导致开发团队和测试团队之间的冲突。

在衡量性能之前需要定义性能

是:

  • 内存消耗
  • 任务完成时间
  • 磁盘空间分配

定义后,您可以决定度量

说得好。问题是,测试人员倾向于报告任何增加的内容:CPU时间、资源使用、内存等等。。。是时候和测试人员讨论这个问题了。谢谢。你不能在一个没有加载无关程序的系统中测量挂钟时间吗?@Mike,对于长时间运行的操作,是的。但有时测试团队也报告,如果某些操作的时间从1秒增加到1.2秒,性能会下降。这很难用挂钟来衡量(但在这种情况下,我也怀疑实际的性能问题)。我相信你会理解,我不是指挂在墙上的物理塑料电子钟,而是指一天的结束时间减去一天的开始时间。这与试图测量进程内CPU时间(不同于I/O时间)的东西形成对比,就像一些探查器所做的那样。在国际海事组织中,后者可能满足了一些好奇心,但对定位问题几乎没有帮助。