2015-04-17 98 views
0

我有兩臺服務器運行完全相同的nodejs應用程序。我正在做負載測試,我無法弄清楚爲什麼我的一臺服務器不會使用更多的CPU和RAM。ubuntu 14.04和nodejs上的CPU使用率較低

負載測試的速度要慢得多,但它甚至不能使用所有空閒的CPU和內存。

如果我在負載測試期間上運行,這些都是我得到

PID User  PR NI VIRT RES  SHR S %CPU %MEM TIME COMMAND 
1308 ubuntu 20 0 1002524 87508 9788 S 5.3 4.3 0:03.06 nodejs                                
1307 ubuntu 20 0 925540 75288 9436 S 5.0 3.7 0:02.17 nodejs                                
1308 ubuntu 20 0 992076 77068 9788 S 14.0 3.8 0:03.48 nodejs                                
1307 ubuntu 20 0 937140 86904 9436 S 2.7 4.3 0:02.25 nodejs                                
1308 ubuntu 20 0 1012936 98000 9788 S 14.3 4.8 0:03.91 nodejs                                
1307 ubuntu 20 0 942940 92644 9436 S 1.0 4.5 0:02.28 nodejs                                
1307 ubuntu 20 0 943204 92976 9436 S 6.0 4.6 0:02.46 nodejs                                
1308 ubuntu 20 0 1011764 96804 9788 S 6.0 4.7 0:04.09 nodejs                                
1307 ubuntu 20 0 933644 83388 9436 S 8.6 4.1 0:02.72 nodejs                                
1308 ubuntu 20 0 1008720 93556 9788 S 5.3 4.6 0:04.25 nodejs                                
1308 ubuntu 20 0 1000184 85256 9788 S 8.6 4.2 0:04.51 nodejs                                
1307 ubuntu 20 0 944092 93988 9436 S 7.6 4.6 0:02.95 nodejs                                
1307 ubuntu 20 0 941748 91816 9436 S 15.0 4.5 0:03.40 nodejs                                
1308 ubuntu 20 0 1004832 90008 9788 S 1.3 4.4 0:04.55 nodejs                                
1307 ubuntu 20 0 933460 82632 9436 S 9.0 4.1 0:03.67 nodejs 

運行兩個過程的數字我沒有看到內存獲得4.7%以上,CPU爲14%。

它需要兩倍的時間來提供與一個核心和一半內存的機器完全相同的資源。

我的其他服務器正在使用CPU的%52。當然,它有一個核心,上面有兩個核心,但似乎並不會有所作爲。

我下載了cpufrequtils並將GOVERNOR設置爲性能,但我認爲它沒有工作。這是我所得到的,當我運行的cpufreq-信息

analyzing CPU 0: 
    no or unknown cpufreq driver is active on this CPU 
    maximum transition latency: 4294.55 ms. 
analyzing CPU 1: 
    no or unknown cpufreq driver is active on this CPU 
    maximum transition latency: 4294.55 ms. 

這裏是CPU

Intel(R) Core(TM)2 CPU   6300 @ 1.86GHz 

任何意見或提示,將不勝感激

+0

你能發表頂部輸出的標題部分嗎?看起來你只是發佈了流程信息。我懷疑你的CPU正在等待I/O。您可以在CPU摘要中的「wa」旁邊的標題中看到該標題。 – sarme

回答

0

如果兩個服務器都運行相同的node.js應用程序,那麼你可能想要 比較機器上的其他設置,它們是一樣的嗎? ulimit -a

此外,對於雙核/多核核心機器,node.js是單線程的,除非使用集羣來利用它,否則它不會受益於雙核/多核。