Estimate servers architecture (hits, traffic,droplets size)

November 3, 2014 1.4k views


I was just wondering how can I correctly estimate my servers needs.
I have a website done with PHP and MySQL ( replaceble with mariaDB ).

Each page is on average around 300-400Kb

I have 3 user types:

1) Simple user

  • will visit 6 pages
  • will spend 2-5 minutes

2) Average user

  • will visit 10-15 pages
  • will spend 5-12minutes

3) Heavy user

  • will visit 15-30 pages
  • will spend 12-25minutes

In our beta-testing period we estimate to have around 200 users the first 2weeks and around 1000users in the first 2 months, most of them coming from USA (same timezone).

The question is:

A) how can I start ?
B) how can I scale ?

This is my idea, please comment:

A) DB srv => 1Mb droplet (if needed I can scale to 2Mb droplet)
Automatic daily DB backup on other FTP server.
webserver => 512Mb droplet (if needed I can scale to 1Mb droplet)

How much traffic will this setup handles ?
My BADGET: $30/mo

DB srv => 2Mb droplet
Automatic DB backup every day, live replica on a smaller droplet?
LoadBalancer => 512Mb droplet
web1 => 512Mb droplet
web2 => 512Mb droplet
web3 => 512Mb droplet

My BADGET: $50/mo

Will this architecture handle 10.000 users? what about 20.000 ?
My concern is about the DB srv, is that enought? should I go on a dedicated machine (master) with a slave on a 1Mb/2Mb droplet ? Should I keep everything whitin DO infrastraction?

thank you

1 comment
  • Hi there, I can calculate how much power you will need, but you have to be a little more specific. Are your page load estimates hourly, daily, weekly..?

    Also, provisioning servers (Droplets) on DigitalOcean is super simple. I will give you a recommendation once you answer my above question.

1 Answer

Hello there,

Page load should be daily or twice a day (on average).

Users will visit almost from the same timezone, they won't be distributed equally during the day, I expect peaks during the early morning, lanchtime and in the early evening.

My issue is not only about how many user I can handle with the settings I proposed but even to do not overcome my budget. That's why I was thinking about a dedicated low-end server for DB which is in my opinion the weak point.

thank you for your help!

Have another answer? Share your knowledge.