I'm using CentosOS VPS, Nginx & Varnish & Apache and I have problem with high load, only if many people visit website in same time.
Website which cause a problem (user: livetvk+), have many php pages (90% are cached and on CloudFlare) and when people opening pages I see many /usr/local/apache/bin/httpd process with 3-4% CPU.
Here is my log in peak period:
USER PID CMD TIME %CPU %MEM
nobody 9244 /usr/local/apache/bin/httpd 00:00:04 5.4 0.3
livetvk+ 12592 /usr/local/bin/php-cgi /hom 00:00:00 5.0 0.2
amavis 12089 /usr/bin/perl -T /usr/sbin/ 00:00:00 4.5 0.6
livetvk+ 12381 /usr/local/bin/php-cgi /hom 00:00:00 4.3 0.5
livetvk+ 12406 /usr/local/bin/php-cgi /hom 00:00:00 4.2 0.5
livetvk+ 12601 /usr/local/bin/php-cgi /hom 00:00:00 4.0 0.2
livetvk+ 12609 /usr/local/bin/php-cgi /hom 00:00:00 4.0 0.1
livetvk+ 12613 /usr/local/bin/php-cgi /hom 00:00:00 4.0 0.2
livetvk+ 12617 [php-cgi] 00:00:00 4.0 0.0
mysql 12140 /usr/sbin/mysqld 00:00:00 3.9 1.5
root 12341 /usr/bin/spamd --pidfile /v 00:00:00 3.7 0.6
livetvk+ 12490 /usr/local/bin/php-cgi /hom 00:00:00 3.7 0.4
amavis 12143 /usr/sbin/clamd -c /etc/cla 00:00:00 3.2 0.6
root 12099 /usr/bin/spamd --pidfile /v 00:00:00 3.1 0.3
livetvk+ 12582 /usr/local/bin/php-cgi /hom 00:00:00 3.0 0.1
livetvk+ 12584 /usr/local/bin/php-cgi /hom 00:00:00 3.0 0.1
livetvk+ 12589 /usr/local/bin/php-cgi /hom 00:00:00 3.0 0.2
root 12602 /usr/local/bin/php /home/li 00:00:00 3.0 0.2
livetvk+ 12618 /usr/local/bin/php-cgi /hom 00:00:00 3.0 0.1
load average: 186.17, 72.93, 27.54
As you can see, load is pretty high and I got idea to limit this with:
nice and cpulimit commands.
Because usr/local/bin/php make high load, my plan is to limit
usr/local/bin/php to 2 or 3% CPU, and set lower priority with nice for same proces.
I don't know how is smart to limit php-cgi? I'm not sure is that a good idea, so I asking what do you guys think about it, and if anybody can offer better solution I will be appreciate.
I have:
- CPU Model: Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz
- CPU Details: 4 Core (2600 MHz)
- Distro Name: CentOS Linux release 7.7.1908 (Core)
- Kernel Version: 3.10.0
- Platform: x86_64
- RAM: 6GB