让我们假设我在一家公司工作,这家公司只拥有一台服务器。在每个月末,我的老板进入我的办公室并问我:“我们需要新的CPU吗?”。我们还要说,根据经验,如果使用超过70%的“系统资源”,公司需要新的CPU。当我输入lscpu时
fabi@alien-linux:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
...
所以我计算
X = (Nr of CPUs)*(Nr of sockets)*(Nr of cores per socket)*(Threads per core)
在我的情况下是84。为简单起见,假设我在整个月内以非常高的采样率执行“top”并且不断显示
50.0 50.0 50.0
这意味着,平均而言,50个进程实际上由核心处理,等待处理或处于“UNINTERRUPTABLE”状态。很好,我计算
0.7 * 84 = 58.8
所以这意味着“70%的系统资源= 58.8个进程”。
由于我只有50个进程,我可以回答“不”给我的老板,我们不需要新的硬件。
这是我的问题:
它是否正确?
这里已经提出了这个问题,答案是这个计算不正确。我不懂为什么...
最好的祝福,
FW
这是一套过于简单的指标来回答手头的问题。在确定硬件需求时,还需要评估其他许多其他有意义的指标。
—
弗兰克托马斯
你能详细说明一下这个吗?只是为了让我开始
—
Fabian Werner
你必须看看你的应用程序和你的能力。即使在高峰时段,您支持的应用程序也能为您的用户实现最佳运行吗?ram的使用情况如何在一天内波动,你等待存储访问多长时间,存储增长是否在预期之内等等
—
Frank Thomas
是的,但所有这些都指的是与CPU使用不同的东西。
—
Fabian Werner
没有关于“我们需要新硬件吗?”的问题。表示固定在CPU上。
—
弗兰克托马斯