嘗試了解我的伺服器的正確操作級別

嘗試了解我的伺服器的正確操作級別

我正在嘗試確定我的專用伺服器應該在什麼閾值下運行。它有 16 個網域,其中一些網域每天有超過 3000 名唯一訪客。如果我執行“top”命令,我會看到以下內容:

top - 10:18:10 up 428 days, 18:20,  1 user,  load average: 1.71, 1.44, 1.49
Tasks: 211 total,   3 running, 206 sleeping,   0 stopped,   2 zombie
Cpu(s): 23.5%us,  3.8%sy,  0.0%ni, 72.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16431252k total, 16119648k used,   311604k free,   613340k buffers
Swap:  2096472k total,   108096k used,  1988376k free,  9511536k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 7440 apache    16   0  434m 111m 7096 S 59.8  0.7   2:56.17 httpd
 8856 apache    17   0  438m 115m 7084 S 54.5  0.7   2:07.94 httpd
10441 apache    17   0  432m 107m 5696 R 35.9  0.7   0:08.18 httpd
 5035 apache    16   0  444m 118m 7708 S 14.0  0.7   5:24.62 httpd
26931 mysql     15   0 2900m 2.6g 5480 S  1.7 16.3  43:56.03 mysqld
10486 root      15   0 12864 1184  828 R  0.7  0.0   0:00.03 top
  742 root      10  -5     0    0    0 S  0.3  0.0 205:45.65 kjournald
 9141 root      15   0  203m 136m 4988 S  0.3  0.9   2:39.58 savscand
 9150 root      15   0  193m 136m 4924 S  0.3  0.9   2:40.54 savscand
    1 root      15   0 10372  556  524 S  0.0  0.0   0:15.75 init
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:02.52 migration/0
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.33 ksoftirqd/0
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0
    5 root      RT  -5     0    0    0 S  0.0  0.0   0:01.99 migration/1
    6 root      34  19     0    0    0 S  0.0  0.0   0:00.11 ksoftirqd/1
    7 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/1
    8 root      RT  -5     0    0    0 S  0.0  0.0   0:01.87 migration/2
    9 root      34  19     0    0    0 S  0.0  0.0   0:00.10 ksoftirqd/2
   10 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/2
   11 root      RT  -5     0    0    0 S  0.0  0.0   0:01.91 migration/3
   12 root      34  19     0    0    0 S  0.0  0.0   0:00.11 ksoftirqd/3
   13 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/3
   14 root      RT  -5     0    0    0 S  0.0  0.0   0:12.35 migration/4
   15 root      34  19     0    0    0 S  0.0  0.0   0:00.49 ksoftirqd/4
   16 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/4
   17 root      RT  -5     0    0    0 S  0.0  0.0   0:14.29 migration/5
   18 root      34  19     0    0    0 S  0.0  0.0   0:00.42 ksoftirqd/5
   19 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/5
   20 root      RT  -5     0    0    0 S  0.0  0.0   0:13.40 migration/6

我的問題是,這些數字看起來正常嗎?他們太高了嗎?太低?為什麼CPU使用率超過100%?

非常感謝。

答案1

我的問題是,這些數字看起來正常嗎?他們太高了嗎?太低?

沒有「正常」。 CPU、記憶體、負載和 io 統計資料可以很好地表明效能如何受約束的但它們並不能準確地描述您的伺服器的運作。如果您想知道交易的性能如何,那麼您需要測量交易的速度。如果您沒有反向代理並且透過網路提供內容,則為每個請求提供服務所需的時間應該受網路時間支配。解決這個問題的一種方法是測量請求的第一個位元組所花費的時間(但顯然,如果編碼被分塊,這可能會產生誤導)。另一種解決方案是使用像 Yahoo Boomerang 這樣的工具,它測量頁面效能而不是請求效能(因此更符合使用者體驗),但也捕捉網路吞吐量資訊。

(但我同意 Andrei 的觀點,將負載保持在 CPU 數量以下是一個好主意)

為什麼CPU使用率超過100%?

因為你有多個CPU。

答案2

您錯過了重要的 LA(平均負載)參數:(頂部第一行)。一般規則是 - 儘管還有許多更重要的參數,但將 LA 數量保持在 CPU 核心數量以下。

相關內容