Linux
如何判斷:是 nginx 還是 PHP-cgi 更慢?
我經營一個流量很大的網站。我正在使用 nginx 和 php fast-cgi。但是,當在瀏覽器中載入簡單的 php 文件時,頁面載入前最多需要 5-6 秒。有時它甚至只是導致“404 not found” nginx 錯誤。
在 debian 上使用“htop”時,我離使用伺服器的資源還差得很遠。發生什麼了?是 nginx 嗎?它是 PHP-fast-cgi 嗎?我不知道瓶頸在哪裡。
我的 nginx 配置片段:
使用者 www-data www-data; worker_processes 2; 事件{ worker_connections 4048; } http { 包括 mime.types; default_type 應用程序/八位字節流; 發送文件; #tcp_nopush 開啟; keepalive_timeout 10; 包括/usr/local/nginx/sites-enabled/*; ... }
我的 fast-cgi 配置片段:
EXEC_AS_USER=www-數據 # FASTCGI-Listener 的主機和 TCP 埠(預設值:localhost:9000) FCGI_HOST=本地主機 FCGI_PORT=9000 # 環境變數,由PHP處理 PHP_FCGI_CHILDREN=8 PHP_FCGI_MAX_REQUESTS=0
非常感謝你!!
大量的流量是多少?只是一些提示:
- 盡可能使用記憶體
- 工作程序的數量可以等於 CPU 核心的數量
- 儘早關閉實時連接或完全禁用它們(嘗試讓我們說
keepalive_timeout 5
)- 每個連接都需要一個文件句柄
worker_rlimit_nofile 20000;
- 您可以在 1 秒內服務的使用者總數(大約)
= worker_processes * worker_connections/ (keepalive_timeout * 2)
- 除非你真的需要它們,否則禁用訪問日誌
- 使用平衡器(如果在一台伺服器上不可行)