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 website, which has grown from 10 visits per day, to 100 per day in couple of months, and now to about 800 unique visits per day.

So far, I have been using a VPS with 512MB RAM, and shared CPU (I think its between 500 Mhz to 1 Ghz).

I think some of the requests serving might be slow, because I see high bounce rate (The main traffic is when it is night in my country. Also the whole server in general is free when it is daytime in my country. So when I check during my day time, load time seems to be fine.).

In any case, can someone tell me a minimal dedicated server configuration (Ram and CPU and port speed) that can handle the following without slowing down any requests:

  • 100K unique visits per day (its keeping in mind future).
  • 500K page views per day. (5 per visit avg.)
  • Each page is say 100KB (one image, few thumbnails, some misc. stuff.. usually it will be much lesser but being pessimistic in computation).
  • Assume that peak load can be 5X the average load (load is never evenly distributed in 24 hours)

Right now I am unsure what will be bottleneck. I only want a general idea.

On other hand, you can even suggest how many page views per day (assuming similar 5X peak load distribution) can following server support:

  • 2 GB RAM
  • 2 GHz CPU
  • 100 Mbps uplink port (I don't even know if this will be dedicated to me or not, but many providers mention this).

EDIT:

I am serving PHP pages. Most of them have no or few database lookups (say up to 5 simple queries). Apart from them, some session variable manipulation, etc. Average number of database lookups/queries would be say 2 per page, with no more than few thousand records in the tables

share|improve this question
    
are you running an opcode cacher like APC as that will help speed up php page loads and reduce load –  anthonysomerset Apr 4 '11 at 8:01
    
yes, I am using APC –  anon Apr 4 '11 at 10:25

3 Answers 3

Most of the metrics you've quoted are irrelevant to predicting capacity - and there's a lot of information missing which you do need.

As long as you use a shared server, its very difficult to know exactly how much CPU you do have available - if you've outgrown your VPS then a dedicated machnie is probably the way to go.

You haven't mentioned what webserver/OS you are currently using nor whether you currently use SSL.

I think some of the requests serving might be slow, because I see high bounce rate

Think? You really need to start measuring this. What do you mean by 'bounce rate'?

First thing to do is to start measuring how your site is behaving - start recording %D in your logs and if you're using mysql, set a low threshold for the slow query log.

Next, make sure you're site is well configured for performance - install an opcode cache, make sure you're serving up good caching instructions, enable compression (for PHP you need the gzhandler).

You're a very long way from needing 100MBps capacity - but it makes sense to go for this speed on your network card for other reasons.

Start recording the number of httpd processes you've got running and compare this with the available memory (less buffers and caches) reported by 'free'. Depending on the spread of usage, and with a very small database, you should aim to have enough free memory to accomodate 80% of your static content and database files.

share|improve this answer

It's impossible to say without detailed information on the performance characteristics of your particular application. If you're serving static HTML via nginx then your current VPS should be fine up to a million pages per day or more; if you have an application that does complicated database lookups for every page served and then runs a computationally expensive algorithm on the result then you're going to need a load balancer and a whole bank of servers to get to 500,000 pages per day.

share|improve this answer
    
Interesting! I am serving PHP pages. Most of them have no or few database lookups (say upto 5 simple queries). Apart from them, some session variable maniputation, etc. Average number of database lookups/queries would be say 2 per page, with no more than few thousand records in the tables. –  anon Apr 4 '11 at 5:49

If your pages are compatible with PHP 5.3+, it is highly recommended to use nginx.

You can find some comparison here. But if you are using older version of PHP, I recommend to stick with Apache, instead of patching PHP for run as service.

Your current configuration is easily satisfy your request with Nginx.

share|improve this answer
    
by current, you mean 512MB ram + 1Ghz CPU can do 500K requests per day... that sounds nice.. –  anon Apr 4 '11 at 9:53

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.