Apache-2.4

我的伺服器可以容納多少使用者?

  • September 30, 2017

有人告訴我切換到 nginx 或至少切換到 mpm_worker。但實際上,即使使用 mpm_prefork,我如何估計我的伺服器是否真的超載?

我的系統是:

  1. GCP 1 CPU + 3,75GB
  2. Debian 8
  3. 帶有 mpm_prefork 的 Apache 2.4
  4. 清漆記憶體,Memcache

一些 php.ini 設置

max_execution_time = 30
max_input_time = 60
memory_limit = 1536M

其他一些不同的標準 apache 模組,沒有 fastcgi 和 php-fpm。

<IfModule mpm_prefork_module>
   StartServers             5
   MinSpareServers       5
   MaxSpareServers      10
   MaxRequestWorkers     250
   MaxConnectionsPerChild   0
</IfModule>

KeepAlive Off

我有大約 20 個小型 wordpress 部落格。

那麼,我可以在所有站點上同時擁有多少並髮使用者?我不需要確切的數字。我想了解它是 10s 100s 還是 1000s?應該不是10000。但如果它是像 250 一樣同時線上 - 我認為它現在仍然很好。

另外,我應該將記憶體限制設置為 3GB 嗎?或者讓清漆使用剩下的 2GB 是個好主意?

Completed 1000 requests
Finished 1000 requests
Server Software:        Apache/2.4.10
Server Hostname:        sochi.asp.sale
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
Document Path:          /
Document Length:        199165 bytes
Concurrency Level:      100
Time taken for tests:   12.041 seconds
Complete requests:      1000
Failed requests:        0
Total transferred:      199546499 bytes
HTML transferred:       199165000 bytes
Requests per second:    83.05 [#/sec] (mean)
Time per request:       1204.067 [ms] (mean)
Time per request:       12.041 [ms] (mean, across all concurrent requests)
Transfer rate:          16184.28 [Kbytes/sec] received
Connection Times (ms)
             min  mean[+/-sd] median   max
Connect:       12  711 1471.9    307    6868
Processing:    23  492 960.2    253    7588
Waiting:        2  302 957.0     76    7043
Total:         35 1203 2005.6    524    7629
Percentage of the requests served within a certain time (ms)
 50%    524
 66%    534
 75%    608
 80%    644
 90%   7164
 95%   7186
 98%   7188
 99%   7189
100%   7629 (longest request)

猜測一下,在它開始減速之前可能不到100。作為參考,我本週對客戶伺服器進行了負載測試。規格是: 4core 4GB RAM 2 core litespeed with lsapi handler PHP 7 MariaDB 10 而且只是一個編碼非常好的網站。

在最慢的頁面上可能需要 300 個並發連接,然後才開始載入速度低於每頁 4 秒。

當沒有負載時,它得到〜50ms TTFB

話雖如此,我對 Nginx+varnish 可以處理什麼並不太熟悉,所以你可能會得到類似的結果。但是,我建議添加額外的核心,並降低 PHP 記憶體限制。如果一個簡單的 wordpress 部落格需要超過 256M,那就有問題了。

最簡單的找出方法是自己進行負載測試-> https://httpd.apache.org/docs/2.4/programs/ab.html

引用自:https://serverfault.com/questions/876229