I've got a server that receives around a million unique visitors a month and I've recently began using Plesk to help monitor some of the vitals on the box itself. RAM I can make sense of, but I'm not really sure if my CPU usage is too high, low, or about average for this number of visitors. The server exists solely to serve up a somewhat hefty WordPress blog.
This is one week. What types of things should I look out for? Some other information about this server follows:
VCPU(s): 4, RAM: 6GB, HDD: 30GB, OS: Ubuntu Server 10.04 x86_64
In my opinion, this question could be asked as how long is a piece of string? Obviously when you hit 100% CPU use everything else is going to suffer. Personally I investigate when my server's CPU remain above 50%.
Your graph shows bursts not even as high at 50% so I think your server is in good condition, you would need to take note of how many websites are running and/if any DB's are running and the sizes of them. There are alot of factors which could effect your server, but I think CPU usage isnt one for you at the moment.
Looks fine...You don't want to be tooling along flatlined: that means you've paid too much for your hardware. And if it's topping out at 50%, then you've got plenty of spare capacity.
The only thing I'd worry about is that Tuesday spike...Looks like you handled it fine, but spiky traffic is the worst to plan for. What kind of site is it?
It seems your graphic sampling interval is around 10 minutes or so. That means during the Tuesday spike you might have reached 100% CPU load during a significant period of time (eg: 1 minute). That said, CPU load, while interesting to see how the load evolves during time isn't that useful in identifying CPU bound systems. I highly prefer watching the run queue size metric.
First off, a periodic sampling will only give you very vague information that is of little value unless it displays very high readings, which yours doesn't. As for what CPU load is acceptable, that's not easy to answer because you need to examine both instantaneous loads as well as longer term figures.
While this will vary between makes and models of CPU in general you don't want to sustain loads greater than 50% for extended periods. Quite simply, CPUs are not designed to handle that well and the resultant heat within the chip itself will be problematic. There is a limit to just how efficiently that heat can be transferred to whatever heatsinking you have, so simply adding more cooling isn't necessarily going to solve the problem for a highly stressed chip. For this reason it's important to also monitor the CPU temperature, as that is far more significant than the load itself. Consult the manufacturer's specs to determine what is good, bad or ugly.
I also suggest you shorten your sampling time as much as possible, at least while you are establishing a baseline, as that will give you better accuracy. If you don't see and significant load over 50% I really don't think you have a problem. Remember that short spikes, even up to 100%, are not a problem provided the average is low enough to allow the heat to escape.
If your site isn't bogging down, you aren't seeing performance issues, and nothing seems to be triggering any alarm bells...you're probably fine.
Your CPU usage isn't being pegged. Depending on the site and the configuration, you might want to check your disk usage, as I/O can bog down (again depending on what you're running) before CPU problems show up.
Mainly just keep an eye on performance. As long as the web pages are being served up without huge delays for your customers (preferably test from an outside-intranet source) then you are probably okay.