Load average & response different than my previous host

May 26, 2013 1.8k views
This is interesting and I wonder why it's happening. On my previous host, vps.net, (which did have ssd), I have a virtual server with 6GHz CPU, 3072MB RAM and 50GB of space. Here on Digital Ocean, I have the 4GB Memory, 2 Cores, 60GB of space setup. After transferring my site over to the DO virtual server, the load averages went up when I run top. Where on the old server, about 0.5 was normal, DO's is running closer to 1. Right now I have an increase in traffic and the load is up to almost 3. However - the site is still functioning quite snappy. Loading right up with no discernible hesitation. On my previous host, the site would be slowed when the load average went up to 3. Here is doesn't. Any ideas what might cause that difference? Chris ps - opps, load just went up to 16 - that slowed the site, but didn't cripple it. On the previous host that usually did it it.
1 Answer
That's a great question and the answer is that a load average of "1.0" doesn't mean it's good or bad. When CPUs had only one logical and physical core a load of 1.0 indicated that the entire core was in use and that any new job that was launched would have to wait for the CPU to become free before it could be processed so it would indicate the point at which it was time to add CPU resources.

Today's modern CPUs have many more physical and logical cores and as a result a load of 1.0 doesn't mean that its time to upgrade. Instead the number of cores you have indicates what a healthy load average is.

So for instance the old 1.0 reading would actually be 16.0 on a system that has 16 cores. That's also assuming the workload you are running is setup to be multithreaded, which most workloads are, and even when you run a single process that can't be multithreaded the other cores are open and able to process other processes.

As a result there are a number of considerations and that's before really even looking at system performance as a whole. On your other host you mention what looks like clock speed but no mention of the number of cores.

Then after the cores question there is also the swap/ram question and disk I/O. Depending on your application you may be doing a heavy amount of disk I/O which will appear as CPU load, because the CPU is literally stuck in a waiting state as it attempts to either read or write data to the disk. This one is fairly easy to spot by reviewing the output of top and seeing if the largest amount of your CPU percentage is "wa" - waiting on disk.

I hope that clears up at least a few questions for you, and possibly opens up a few more in the process. =]
Have another answer? Share your knowledge.