Hi, new here and need some help. Sometimes my site is extremely slow, if when there aren't too many people on, whereas when there are over 300 online members the site may be very fast. We use CentOS, PHP 5.26. The server has 4GB and Plesk usually shows about 2 or 3 GB free.
I believe I can see the problem when I use TOP
Lastnight when I was trying to copy/paste this I noticed the load average said numbers around 19, yes nineteen and don't imagine that's a good thing. I'm no expert but I imagine the HTTPD is some sort of thread transferring data to the web. Most of the time the CPU usage seen in top is very low. Atleast several times per day I check TOP because I notice the site is slow and I see multiple HTTPD threads with 100%+ CPU usage. I kill them by PID and the server stops reacting so slowly. What makes the HTTPD CPU usage skyrocket for these occasional threads? An inefficiency with my script? Any help would be greatly appreciated!
Here's #TOP
(The problem arises regardless of what mysqld show for cpu usage. Below you can see mysqld has high cpu usage but again this slow problem exists regardless of cpu usage for mysqld.)
my.cnf
httpd.conf
PS -EF
Thank you for any information to help me fix the slow problem and letting me know what makes an HTTPD thread in TOP show 100% cpu usage?
You can use the toogle key of TOP to see memory usage.you can just see it in man page or just by pressing the help key at TOP. Advise to you is to adjust the settings of your httpd.conf. You need to adjust the config of the ff:
Thanks for helping! Per your post, I've researched the 'prefork MPM' section of my httpd.conf file but am not finding anything that helps me fine tune the settings for my particular server usage or server type.
I believe I saw some example .conf files that were like htppd-huge.conf htppd-large.conf htppd-small.conf and stuff like that. I went through each saw that the huge one was referring to a server with 4GB ram which is what mine has. I tried using those settings but my server didn't like it very much at all! Next I tried using the large and medium ones but again my server acted funny so I reverted back to what I have:
There must be a way to limit the CPU usage of each httpd thread so that it doesn't reach 100% ? I read doc's on the Apache site that explained what each of the above does but it didn't help me figure out which way to go with things. Do I leave the worker.c alone above and focus on the prefork? You said to modify the FF but I don't know what FF stands for sorry. You pasted MaxClients, etc. so I'm assuming it's the prefork I should mess with.
Another thing that I tried was since the huge .conf file example had settings almost double mine, I attempted to double the settings such as changing StartServers to 32 from 16, all the way down the module list. That didn't work either.
We have more than 2GB of RAM that's not being used since Plesk usually says we're using between 1GB and 2GB, so I don't imagine this is memory related. Also since most threads in TOP show 0.3% cpu usage to 1.7%cpu usage, it seems to be a problem when I find 100% usage. For instance I got home an hour ago and killed 5 threads that were 100% cpu usage in TOP. I just checked now and see 2 more running and bogging down my server. There's a big difference between 0.6% and 100% I'd say Any further help for my confusion would be GREATLY appreciated!
Just to give you idea, 1 httpd process sometimes consumes about 128 MB of your memory and based on your settings if you started 16 httpd process(startservers) multply by 128 MB plus additional 16 more (min spare) thats a lot of memory consumption. I never include the max clients that is allowed.
So bigger is not always good for settings in apache.conf. You can google for apache performance to look for more answer. Cheers
In addition the advice from csorhand and looking at your processes it appears that you are using a LAMP configuration, so there are several things to take into account here (I am assuming the php part).
1. Examine your content, if you are serving pages that contain mixed content such as images and javascript along with dynamic php content, you might benefit from adding expiry to the static content, if client need to download less that will reduce some of your load.
2. Install a php cache such as xcache, eAccelerator or APC.
3. Look at this thread https://www.unix.com/web-programming-...primer-sh.html and use the tools linked to check your mysql configuration. I believe it is actually your communication with MySQL which is causing you the most problems.
4. Ensure that you have dns lookups turned off in apache:
Also check for "bad" pages that have nasty queries. We has on module on this site that put millions of rows in one db table, and tried to query that table every time specific pages were loaded. The server was running flat out for a few days until I managed to spot the strange behavior and truncated the table. The load went down instantly to a normal level.
Hi Fellas,
Not sure how I can dig in even further but we notice that one of our DB servers is showing high Sys% CPU usage even though when I execute the following command :
I can see that postgres is the only one using the CPU. So if anyone can advise me what would be the best way to... (3 Replies)
HI
In my M5000 , one of domain is having SAp installed. from today onwards we are facing some stange issue.
when we start SAP application, that particular user is taking 95 % of system CP and renaming 5 % is taken by system . because of this reason application is slow.
i have 4 CPU(32... (4 Replies)
I have created one script and i have added it into cron to run after 10 mins. However I have noted that whenever that script runs, It causes CPU utilization of server to increase about 10-20 %
I have rechecked script and there is no way i can make changes, Script contain only 2-3 commands. So... (4 Replies)
Dear All,
One production Server is affected by high usage.
Application is slow now. Please guide me how to solve it?
NMON Report shows full cpu usage.
Here im posting some server details.
bash-3.2# lparstat -i
Node Name : *********
Partition Name ... (6 Replies)
Hi,
I can't seem to make sense of this. My wait time is showing really high but vmstat's and topas are showing normal usage.
ps aux
USER PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMAND
root 9961810 5680.7 0.0 448 384 - A Dec 16 6703072:12 wait
... (2 Replies)
Hi All,
Yesterday my Linux server went panic and even a small command took a lot of time to run.
When i monitored pl find the below output
Cpu(s): 0.1%us, 98.4%sy, 0.0%ni, 1.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
the time spent on kernel mode is 98 % and also idle time is around 1.5 %...... (4 Replies)
Hi Guys,
I need to write a script capable of identifying when a high cpu utilitzation process. It sounds simple but we are on a AIX 5.3 environment with Virtual CPU's (VP's) and logical CPU's. Please any ideas or tips would be highly appreciated. Thanks.
Harby. (6 Replies)
I am running a Dell PE R815 with 4 x AMD 12 core CPUs with 128GB of RAM and a RAID 5 array of 6 SAS disks. This is an HPC application and is definitely CPU bound, however once I run 16 of these processes (thus pinning 16 cores) the work performed slows down dramatically, to maybe 5 or 10% of what... (2 Replies)
CPU usage: PS versus TOP - Different output
Hi
When monitoring a Linux environment with PS command, reported CPU value for a certain process differs, sometimes greatly, from the value seen in TOP.
I understood this is not a bug, they report different data.
I can't understand the nature... (4 Replies)