I have a virtual server set up with 4GB RAM and 2 CPU runnung Debian Jesse with easyengine. I have about 30 virtualhosts, mainly WordPress installations with w3tc and nginx fastcache.
Lately I have an increase of trafic on two of the sites, but it seams the processor and RAM can handle it since I have about 30% RAM free and CPU load under 0.3 in average.
However, ocasionally nginx is serving blank pages ant those pages tend to get cached. When this happens this lines appear in the error logs
/var/log/nginx/xxx.xx.error.log:PHP message: Lock not acquired" while reading response header from upstream, client: xx.xx.xx.xx, server: xxx.xx, request: "GET /xxxxx/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "xxx.xx"
(replaced user specific info with xxx)
I also noticed in the virtual server management interface the following alerts
Resource numflock red alert on environment xxx current value: 1000 soft limit: 1000 hard limit: 1100 Resource numothersock red alert on environment xxx current value: 739 soft limit: hard limit: 750 Resource dcachesize red alert on environment xxx current value: 29974469 soft limit: 28991028 hard limit: 32212254
The numflock is apearing quire often.
My workaround is to reboot the system when this happens, but it obviously not a good enough solution.
Is there anything in my nginx configuration I shoould change? These are my limits
# cat /proc/$(cat /run/nginx.pid)/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 10485760 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 1288950 1288950 processes Max open files 1024 4096 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 1288950 1288950 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us
And here are my related nginx settings
worker_processes auto;
worker_rlimit_nofile 100000;
pid /run/nginx.pid;
events {
worker_connections 4096;
multi_accept on;
}
Any suggestions will be appreciated. Thanks!