Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a VPS server from LiquidWeb... it feels like sometimes during the day it's laggy. Since it's 100% virtual, I can't just check "top" to gauge the performance since that is measuring within the VPS. (In other words: if I am never running anything on the VPS, top will always show the same memory use and server load of zero, but because the VPS lives on a shared physical box, it may still fluctuate in speed.)

Is there a way to measure the "real" speed of how the VPS is performing? I was thinking about just hacking a little script that runs a loop (doing something-- file actions, or ??) and logs the time, so I could start to build history... but I'd prefer a more reliable/fundamental stat.

share|improve this question
it might be a good idea to mention the operating system of the VPS, as well as the type of virtualization – Kenny Rasschaert Jun 15 '12 at 9:05

Hello I had a similar task and I've done the following(if the server is a windows VPS ) :

  1. Define what is more important for your application/enviroment (for a DB Prod server you might expect a high read speed , CPU ) . You can get that from the aplications \ event log and see which seems to be the bottleneck.
  2. Perfmon counters for the things that you've decided to monitor at step 1 . Be sure to make them detailed enough to get some good data but not get them every minute (usually @30 minutes should give you an general idea )
  3. If you have an MSSQL instance there be sure to monitor it's performance and CPU \ RAM limits .

  4. If you have IIS be sure to check the logs and if any application has "fatal" errors

  5. Check IIS logs and get performance counters .
  6. Check Event logs for any errors , usually fixing them should give you an idea and will give a small boost to your VPS .

For Linux VPS :

  1. top -s should give you an basic idea of the process and which one consumes most of the memory
  2. to test read/ write speed try to copy something and see the speed . For disk access time , you could run a MySQL query and see the execution time .(and most important which operation takes the most in your query )
  3. see dmesg for any error messages and try to fix them .
  4. if applicable you could try to add it to a Nagios monitoring server .(there you can also find scripts to help you monitor )
  5. see the logs of your applications and if they report any performance / issues .
share|improve this answer

Usually, is a good idea use iostat to take measures of the disk access times. Vmstat to see your memory and htop to cpu.

If your running windows use performance monitor.

Usualy in VMs the bottleneck is the disk access latency.

I could give you some idea abut your performance issues.

share|improve this answer

Define what are the important measures to you, like: IO, CPU, Latecy, ...

Then find an appropriate testprogram, for example testing Disk IO bonnie++ is a good choise, but you can find many more standard test progras in Phoronix Test Suite.

Do more tests on different systems and compare the results.

And also check system statistics with top, iotop, iftop during the tests. As well, if the provider gives you graphs like Amazon does, check them during the tets.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.