1
6
是的,我建议100%的进程都是颠簸的,所以不希望看到进程一直这样运行。我一直以80%为目标,在利用率和峰值/特殊进程空间之间取得平衡。 我过去使用的一种方法是缓慢地增加池的大小,并测量其影响(对CPU和IO等其他约束的影响),你永远不会知道,你可能会突然发现IO成为瓶颈。 |
2
4
在这个i/o密集型工作负载中,CPU利用率应该无关紧要,因为您关心吞吐量,所以请尝试使用 hill climbing approach 如果你添加了一个线程,它有帮助,添加另一个。如果你试了一根线,它会痛,就把它拔掉。 最终这将稳定下来。 如果这是一个基于.NET的应用程序,爬山被添加到.NET4线程池中。 更新:
同样关于.NET4,如果您可以将问题重新定义为Parallel.For或Parallel.ForEach,那么线程池将调整线程数以最大化吞吐量,这样您就不必担心这个问题。 -里克 |
3
3
而且你的负载是恒定的,你应该以100%的CPU利用率为目标,其他一切都是CPU的浪费。记住,操作系统处理线程,所以它确实能够运行,很难用一个行为良好的程序来饿死操作系统。 但是如果你的负载是可变的,并且你期望你应该考虑的峰值,我会说80%的CPU是一个很好的使用阈值,除非你确切地知道负载将如何变化以及它将需要多少CPU,在这种情况下,你可以瞄准确切的数字。 |
4
1
如果你只是给你的线程一个低优先级,操作系统将完成剩下的工作,并采取周期,因为它需要做的工作。Server 2003(和大多数服务器操作系统)是 很擅长这个 ,无需自己尝试和管理。 |
5
0
我还使用80%作为目标CPU利用率的一般经验法则。正如其他一些人提到的,这为活动中的零星峰值留出了一些空间,并将有助于避免对CPU的冲击。 以下是Weblogic工作人员关于这个问题的一点建议(较老但仍然相关): http://docs.oracle.com/cd/E13222_01/wls/docs92/perform/basics.html#wp1132942 如果你觉得你的负载是非常均匀和可预测的,你可以把目标推得更高一点,但是除非你的用户群对周期性的慢响应特别宽容,并且你的项目预算非常紧张,否则我建议给你的系统添加更多的资源(添加一个CPU,使用一个有更多内核的CPU,等等)试图从现有平台中挤出另外10%的CPU利用率。 |
hassan ahmadi · 如何在jmeter中阅读下面的图表 7 年前 |