• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 616
  • Last Modified:

High CPU usage

Hey I'm new to server administration and I recently moved my site to a VPS everything was fine for a few weeks, but the site has begun to go down regularly.  At these times when I check my VPS resources server usage is usually 90%+.  The entire site is written using php, javascript, and AJAX.

Could the CPU usage be causing the site to go down? and if so, do you have any tips on reducing CPU usage?

Thanks
0
Frontstart
Asked:
Frontstart
2 Solutions
 
edster9999Commented:
Remember you share the CPU with other people.
Two things can cause this issue.  

If your CPU time is hitting the max then this will slow your site(s) down and may cause it to stop responding.  Drop to the shell and run 'top' to see what is running fast.
This may be a web page that is getting into some sort of loop and using all the cpu time or it may be someone messing (hacking ?) with your site.

The other thing can be in the boxes cpu is running too hot (too busy).  If you do not see your CPU time as very high call the tech support and ask them what is going on.  It could be someone sharing your VPS is getting hacked / DDos'ed and that is impacting your site.
0
 
LinuxGuruLinux Server AdministratorCommented:
Yes, as mentioned above you need to monitor the process running. Enter the following command after logging to your server via SSH.

top -c

Now you can see the process running and memory utilization.

While in top -c you can issue the following command to check the things causing high memory and processor usage.

Hold shiftkey + m

Hold shiftkey + p

You can then kill or suspend that accounts causing high server load.
0
 
FrontstartAuthor Commented:
After running top -c, It looks like two httpd processes from the apache server are at the top of the list at around 26% each, everything else is ~1%.  Those were the highest readings I could get before it went down.

Any idea what the issue could be? (restarting the server brings the site back up for a while but it just goes down again)
0
NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

 
edster9999Commented:
It could be pure load.  You have too many people to run on one VPS.
Look at your logs and work out how many hits per hour you get.
If that is the case then you need to get another VPS server or a dedicated server (or two).

If it is not high then you have bad code that is getting stuck in loops.
If this just started happening did you update the code or change anything ?

0
 
FrontstartAuthor Commented:
The site is still being developed so new code is added everyday, but our users also doubled around the time this started happening.  What type of numbers would be too much for a VPS?
0
 
edster9999Commented:
There is no set answer to that.

You dont need to answer these questions just think about them -
How much cpu does each page of your site take to display?  A simple static text only site would be far different to a site that is looking up lots of info from databases for each page.
How busy is the box?  Remember you share it with other people.  If you are sharing it with 20 high users who all run multiple sites then it will run differently to it hosting 10 light users. Maybe talk to the hosting company and get their view on this.  They could look at your usage compared to others on the same box and see how it looks.

A good idea would be to install the same code on a pc (not a public hosted one just a pc on your network) and run jMeter or similar on another box and try different numbers of users (jMeter can pretend to be multiple users all using the site).
Maybe ramp up the users over time.  20 minutes of 10 users, then 20 minutes of 50, then 20 minutes of 100 etc until you kill the code / box.
This does not give you the final figure of number of users you can run as the test box will be different to the real box but it will show you if your code 'leaks' memory or cpu usage over time and will give you some idea about how it scales up.
Oh and DO NOT do testing like this on your live box as you will probably kill the VPS and your hosting company will ban you :(
0
 
QlemoC++ DeveloperCommented:
This question has been classified as abandoned and is being closed as part of the Cleanup Program. See my comment at the end of the question for more details.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now