Cristian Rodriguez
New Pleskian
Since a month ago my dedicated server is experiencing performance problems, it is slow, tring to figure out what the problem is and applying many changes to the server nothing has changed websites are loading very slow, what i have notice is that there are many apache process (httpd) and every process is eating too much memory.
Server information:
70 subscriptions
Disk 1TB (50% used)
Ram 8 GB
top - 20:50:41 up 3 days, 3:05, 1 user, load average: 81.77, 95.44, 86.96
Tasks: 577 total, 1 running, 571 sleeping, 0 stopped, 5 zombie
Cpu(s): 2.5%us, 1.4%sy, 0.0%ni, 39.1%id, 56.4%wa, 0.2%hi, 0.3%si, 0.0%st
Mem: 7932144k total, 4766860k used, 3165284k free, 1448800k buffers
Swap: 16383996k total, 41664k used, 16342332k free, 723568k cached
If Memory is over 50% websites speed start to decrese
25411 apache 20 0 466m 93m 2936 D 0.0 1.2 0:00.06 httpd
25253 apache 20 0 466m 93m 2936 S 0.0 1.2 0:00.07 httpd
25237 apache 20 0 466m 93m 2924 S 0.0 1.2 0:00.07 httpd
25259 apache 20 0 466m 93m 2924 S 0.0 1.2 0:00.07 httpd
25431 apache 20 0 466m 93m 2936 S 0.0 1.2 0:00.06 httpd
25352 apache 20 0 466m 93m 2932 S 0.0 1.2 0:00.07 httpd
25412 apache 20 0 466m 93m 2936 S 0.0 1.2 0:00.06 httpd
26732 apache 20 0 466m 93m 2928 S 0.0 1.2 0:00.05 httpd
25275 apache 20 0 466m 93m 2936 S 0.0 1.2 0:00.06 httpd
25354 apache 20 0 466m 93m 2928 S 0.0 1.2 0:00.06 httpd
25235 apache 20 0 466m 93m 2944 S 0.0 1.2 0:00.06 httpd
28500 apache 20 0 466m 93m 2924 S 0.0 1.2 0:00.04 httpd
28924 apache 20 0 465m 92m 2188 S 0.0 1.2 0:00.01 httpd
Every process may be a child and a child a connection so, if there are 50 process they are eating almos 5GB of ram, so i thing every process is taking too much memory, i think it should be lower.
Some say that keep alive should be Off if there are many connections or ram memory is poor, so i changed this value but noting changed.
I have made many improvements like:
Change cron jobs to server low usage hours.
Disable Wordpress wp-cron.php defail behaivor for a cron job process.
Mitigate Wordpress attack with fail2ban
Reduce and increase MaxClients
Activate NGNIX for all sites
But nothing seems to work, i can not lower ram memory usage, i thing the dedicated server should have a better performance but i does not.
Hardware health is ok.
Another thing i can see and maybe is related but should not affect normally is that there are a lot of connections form Cloudflare, now there is just one website using Cloudflare but there are 95 established connections i think is too much, it is at least the 80% of current connections.
Most of the sites should not have to many connections most of the usage is for the email service through imap or pop3
UPDATE
Digging a little bit i found that part of the problem is disk IO caused by statics collector, some of the task in my case are not need, spamtrain is similar to sa-update that is executed separately, i guess i can run every task separately in a cron job and not to run a task i don't need.
As explained in Plesk Support:
# /usr/local/psa/bin/sw-engine-pleskrun /usr/local/psa/admin/plib/DailyMaintainance/script.php -h
I think it is a bad idea to join multiple task in one process, by now i killed the process, customers has the priority and they need efficientcy.
there are other process causing high IO but i think it is easier to resolve.
Server information:
70 subscriptions
Disk 1TB (50% used)
Ram 8 GB
top - 20:50:41 up 3 days, 3:05, 1 user, load average: 81.77, 95.44, 86.96
Tasks: 577 total, 1 running, 571 sleeping, 0 stopped, 5 zombie
Cpu(s): 2.5%us, 1.4%sy, 0.0%ni, 39.1%id, 56.4%wa, 0.2%hi, 0.3%si, 0.0%st
Mem: 7932144k total, 4766860k used, 3165284k free, 1448800k buffers
Swap: 16383996k total, 41664k used, 16342332k free, 723568k cached
If Memory is over 50% websites speed start to decrese
25411 apache 20 0 466m 93m 2936 D 0.0 1.2 0:00.06 httpd
25253 apache 20 0 466m 93m 2936 S 0.0 1.2 0:00.07 httpd
25237 apache 20 0 466m 93m 2924 S 0.0 1.2 0:00.07 httpd
25259 apache 20 0 466m 93m 2924 S 0.0 1.2 0:00.07 httpd
25431 apache 20 0 466m 93m 2936 S 0.0 1.2 0:00.06 httpd
25352 apache 20 0 466m 93m 2932 S 0.0 1.2 0:00.07 httpd
25412 apache 20 0 466m 93m 2936 S 0.0 1.2 0:00.06 httpd
26732 apache 20 0 466m 93m 2928 S 0.0 1.2 0:00.05 httpd
25275 apache 20 0 466m 93m 2936 S 0.0 1.2 0:00.06 httpd
25354 apache 20 0 466m 93m 2928 S 0.0 1.2 0:00.06 httpd
25235 apache 20 0 466m 93m 2944 S 0.0 1.2 0:00.06 httpd
28500 apache 20 0 466m 93m 2924 S 0.0 1.2 0:00.04 httpd
28924 apache 20 0 465m 92m 2188 S 0.0 1.2 0:00.01 httpd
Every process may be a child and a child a connection so, if there are 50 process they are eating almos 5GB of ram, so i thing every process is taking too much memory, i think it should be lower.
Some say that keep alive should be Off if there are many connections or ram memory is poor, so i changed this value but noting changed.
I have made many improvements like:
Change cron jobs to server low usage hours.
Disable Wordpress wp-cron.php defail behaivor for a cron job process.
Mitigate Wordpress attack with fail2ban
Reduce and increase MaxClients
Activate NGNIX for all sites
But nothing seems to work, i can not lower ram memory usage, i thing the dedicated server should have a better performance but i does not.
Hardware health is ok.
Another thing i can see and maybe is related but should not affect normally is that there are a lot of connections form Cloudflare, now there is just one website using Cloudflare but there are 95 established connections i think is too much, it is at least the 80% of current connections.
Most of the sites should not have to many connections most of the usage is for the email service through imap or pop3
UPDATE
Digging a little bit i found that part of the problem is disk IO caused by statics collector, some of the task in my case are not need, spamtrain is similar to sa-update that is executed separately, i guess i can run every task separately in a cron job and not to run a task i don't need.
As explained in Plesk Support:
# /usr/local/psa/bin/sw-engine-pleskrun /usr/local/psa/admin/plib/DailyMaintainance/script.php -h
I think it is a bad idea to join multiple task in one process, by now i killed the process, customers has the priority and they need efficientcy.
there are other process causing high IO but i think it is easier to resolve.
Last edited: