【发布时间】:2015-04-17 21:05:18
【问题描述】:
我有两台服务器运行完全相同的 nodejs 应用程序。我正在做负载测试,但我无法弄清楚为什么我的一台服务器不会使用更多的 CPU 和 RAM。
在负载测试时它要慢得多,但它甚至还没有接近利用所有可用的 CPU 和内存。
如果我在负载测试期间运行 top,这些就是我得到的数字
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%。
提供完全相同的资源所需的时间是具有一个核心和一半内存的机器的两倍。
我的另一台服务器正在使用 %52 的 CPU。诚然,它有一个核心,而上面有两个,但这似乎不会有所作为。
我下载了 cpufrequtils 并将 GOVERNOR 设置为性能,但我认为它不起作用。这是我运行 cpufreq-info 时得到的结果
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
任何想法或提示将不胜感激
【问题讨论】:
-
你能发布顶部输出的标题部分吗?看起来您刚刚发布了流程信息。我怀疑你的 CPU 正在等待 I/O。您会在 CPU 摘要中“wa”旁边的标题中看到它。
标签: node.js ubuntu-14.04 intel