nginx メイン conf:
worker_processes 6;
worker_rlimit_nofile 65535;
events {
worker_connections 10240;
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=foo:10m rate=2r/s;
limit_conn addr 3;
次に私のドメインゾーン内で
location / {
limit_req zone=foo burst=100 nodelay;
limit_conn addr 3;
limit_rate 100k;
limit_rate_after 1m;
try_files $uri $uri/ /index.php?$args;
}
nginxを再起動した直後にサイトがフリーズしたのですが、nginx_statusでアクティブな接続/待機が3000に急増しました。
location /nginx_status {
# Turn on stats
stub_status on;
access_log off;
}
サイトがロックアップする原因は何でしょうか? 60 秒ごとに nginx をリロードするスクリプトを実行していますが、これでは問題は解決しませんでしたが、service nginx restart では解決しました。ロックアップ中のリソース使用率は CPU でほぼ 0% でした。