每天運行一臺服務器,其瀏覽量爲140,000頁(分析)。 每個php-fpm進程大約10-12M。
服務器有10G的RAM,MySQL的去爲1.2G-1.6Gnginx + php-fpm配置。服務器停止運行
配置是這樣的:
nginx
user nginx;
worker_processes 4;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log /var/log/nginx/access.log main;
access_log off;
sendfile on;
#tcp_nopush on;
keepalive_timeout 10;
client_max_body_size 20M;
server_tokens off;
include /etc/nginx/conf.d/*.conf;
}
的php-fpm的是這樣的:
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
user = webadmin
group = webadmin
pm = dynamic
pm.max_children = 900
pm.start_servers = 900
pm.min_spare_servers = 200
pm.max_spare_servers = 900
pm.max_requests = 500
chdir =/
通常情況下,服務器可以運行可以同時擁有500個用戶(同樣,實時谷歌分析用於獲得此估計值),但在用戶數量並不多(75-100個併發用戶)的時候會停滯。
配置是由我的ISP完成的,我相信,但我仍然想知道配置是否有意義。
感謝OliverBS。我特別想知道php-fpm配置,因爲php-fpm進程吃掉了我們所有的內存。 max_children = 900聰明嗎? –
嘿,我運行的Ubuntu的,所以可能不一樣,但我通過apt安裝ab,然後安裝htop,所以我可以看到內存使用蠕變了,然後讓ab發送請求的負載和跟蹤內存使用情況,因爲我設置max_children以及等待取得進程的孩子們,我會說得到一些基準測試工具並對其進行測試,直到您獲得完美的設置。這有幫助嗎? –