Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a complex web application running on a Debian/Nginx/PHP5-FPM stack. The application usually has ~600 online users everytime, and ~5000 unique users per-day.

The stack is running on a Xen-based VM with 2 dedicated cores (Intel Xeon E5420) and 2GB of RAM.

I see that PHP5-FPM uses a lot of CPU, usually 10%-20% but sometimes even 100% for some minutes. Average load (from uptime command) is "~1.5, ~2, ~2.5", but I've seen higher values (around 10).

I was wondering if the VM is powerful enought for running this app. And, more important, I was wondering if using Xen is actually a good choice or not (on the server there are two more VMs).

Thanks in advance!

share|improve this question
    
Thank you both ollybee and John. First, we'll try to do some load balancing (using Varnish/Nginx features), then re-test the whole stack it with tools like iostat. –  Michele Pangrazzi May 23 '11 at 8:10

2 Answers 2

up vote 1 down vote accepted

From the information you have given it sounds like you are running close to the edge. A common rule of thumb is that average loads of over 1 should be a concern and if you reach 4 or 5 there is defiantly a problem. The load is derived from the number of processes waiting for a resource which could be disk, network or CPU. Whilst if you are seeing CPU usage top out if your average is 15% and you are seeing load values of above 1 then your bottleneck is likely to be disk access. The nature of a VPS is that disk performance will often be much worse than on a dedicated server, a more powerful VPS will likely have the same disk performance so not be helpful.

I don't know anything about your application but very broadly the numbers you have given sound as though you have an efficient set up. I would suggest that you look at scaling out and splitting the work across two or more servers rather than scaling up to a more powerful machine.

The most important thing is that you do more testing so you know for certain.

To answer you question XEN is fine, there are many large production sites using it. however if you have a busy database which will generally mean lots of disk activity then XEN or virtualisaiton in general may not be the best solution.

share|improve this answer

Xen is very good for CPU / memory throughout applications, not so good for IO/network (unless you use direct attach luns like NPIV or anything that bypass's dom0 io stack )

so you need to do some analysis on your load try using vmstat / iostat to figure out if its cpu/io load

share|improve this answer

Your Answer

 
discard

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.