要点总结:
1、不要比较nGrinder每个版本的性能,这并不值得。
2、不要试着推荐进程核线程数。
3、如果一个进程有过多的线程,可能会耗尽自己的内存,导致oom。
http://ngrinder.642.n7.nabble.com/Why-nGrinder3-0-performed-better-than-Grinder3-11-td71.html
有人问为什么nGrinder 3.0比nGrinder3.11表现得好。
The conclusion from what I observed from real deployment here is that we can not determine nGrinder performance in advance.
It seems that nGrinder threads on the single process run on the single core because of some synchronization issue.
因为某些同步问题,单个进程上的ngrinder threads运行在单个(CPU)核上。
(I'm not sure.. but it seems like it.)
(不确定,但是看起来就是这样)
In this theory, if we specify only 1 process to be used, it wastes the remained cores.
理论上来说,如果我们指定只是用一个进程,这就浪费了剩下的(CPU)核。
This explained a lot. Your trial shows the significant performance differences b/w 1 and 2 cores, not b/w 2 ~ 4 cores.
这就可以解释了。在1核和2核之间有显著的性能差异,但是2到4核之间并没有显著的差异。
nGrinder use 1 process(ngrinder agent controller) when it does not perform the tests. If the test runs, at least 2 processes are running.
不执行测试的时候,ngrinder是用1个进 程(ngrinder的agent controller)如果运行测试,至少两个进程在运行。
So it can be distributed into 2 cores and does not interfere each. This can explain the reason of your performance test result