What size of droplet do you recommend?

July 13, 2015 3.9k views
Server Optimization PHP Scaling Getting Started Ubuntu

I want to create a new droplet, but im not sure what kind of size i will need, i want to use it for a php site + mysql for about 10000 users, or maybe more in the future. Can you give me some suggestions?

1 comment
  • For a serious site (one want to work reliably, and respond to changes) you should dedicate a droplet to run your mysql server, and a separate droplet for your php+http server (apache or nginx).

    On your mysql VPS, for mysql to work "well" (without weird crashes) you need about 2GB Ram, and multiple CPU's are ideal anyway. That corresponds to the $20/m droplet.

    For the php/web server droplet, you may be able to achieve good enough performance with a 512MB ($5/m droplet) if you run nginx+fpm. If you run apache, you should start at the 1GB/$10/m droplet... but you may need a 2+ core system (the ones starting at $20/m) to get decent results for non-trivial PHP based site under any kind of load (on apache).

    My recommended starting configuration (without getting into replication, which you should consider if your data is important):
    $10/m Droplet running Ubuntu 14 LTS + php5.5 + nginx - fpm
    $20/m Droplet running Ubuntu 14 LTS + mariadb-server (or mysql-server)

    Remember, most of the DigitalOcean tutorials assume you run mysql on the same droplet as your web server. Those are ok to use, just SKIP the mysql part.

    To configure Ubuntu 14 LTS + php5.5 + nginx - fpm: (SKIP the mysql section)

    To configure Ubuntu 14 LTS + mariadb-server (mariadb is my preferred fork of MySQL)

    1. create new droplet with Ubuntu 14 LTS
    2. from command line: apt-get install mariadb-server
    by Etel Sverdlov
    LEMP stack is a group of open source software to get web servers up and running. The acronym stands for Linux, nginx (pronounced Engine x), MySQL, and PHP. This tutorial explains how to install the required repos to download nginx and php-fpm, how to install MySQL, how to install nginx, how to install php-fpm, how to configure php and nginx, and how to create a php info page. This tutorial is written for Ubuntu 12.04.
2 Answers

Depends, its pretty hard to say. Its something like "how much potatoes can you fit in this box?" If you are running php scripts with a high load of your server, and getting alot of mysql queries at a moment you will need more resources.

And what do you mean with users? The amount of people visiting your site a day, a week?

But you could start with a $20/month droplet, check how much resources you are using with this website and "calculate" how much more you need or if this is allright. With a DO droplet you will always have the flexibility to upgrade your droplet to a higher plan without any risks.

It really depends on what you're doing with it. In my case, I would start with a $5 Droplet, and if it gets overloaded upgrade it to a $10, and so on. DigitalOcean makes upgrading super easy to do, so I would just take advantage of that and upgrade accordingly.

Resizing your servers can be an effective way of increasing their capacity, by allowing them to utilize more memory (RAM), CPU, and disk storage. The ability to resize a server, also known as vertical scaling, can be useful in a variety of situations that prompt the need for a more powerful server, such as if your concurrent user base increases or if you need to store more data. In this tutorial, we will show you how to resize your server, also known as a droplet, on DigitalOcean.
Have another answer? Share your knowledge.