I’m afraid that there can be no correct math on this as there are too many variables, many of which may even be dynamic and subject to change without intervention by you or anyone else. Take a look at our server sizes here:
I have personally worked on Wordpress-based websites that would struggle to perform reasonably with low traffic on our $960/m server. I have also worked on Wordpress-based websites that could manage far more traffic than your site receives on our $5/m or $10/m servers. You see, Wordpress itself is dynamic. Your choice of plugins and theme can impact that. On every page load, your server does something like this:
- Web server receives request.
- Web server requests that Wordpress return data.
- Wordpress loads base files, plugins, themes, and queries database to determine how to put all of the pieces together.
- Wordpress returns that data to the web server.
- Web server responds to the person making the request.
Note that step 3 is a wildcard in theory, and all too often in practice. What plugins or theme you use, and in what combinations you use them, will impact how step 3 occurs. You can stack the deck against yourself in step 3 by including a combination of poorly coded plugins, or even a poorly coded theme. You won’t know what these are unless you can audit the logic of their code while knowing the logic of the code base for Wordpress, that’s why you have to be really careful here and observe server performance along the way.
I’ve seen combinations in which every page load required 100% of all available CPU, and memory usage jumped through the roof. Those sites that I’ve seen like that, one visitor would run the server out of memory and cause the kernel to kill MySQL on our $5 server (and several more servers up the price line).
A few years ago, at a different job, I saw several sites with a worse problem. Their resource usage was light at first, but every visitor was both written to a database table and queried against that table before they were allowed to load a page. This meant that the website owners thought their servers were getting slower over time, and that they were broken. Their servers also kept running out of memory, despite them never changing anything. In reality, their overhead to finish step 3 continually increased over time based on their choice of Wordpress plugins.
The real answer here is that you need to set up your Wordpress site and then observe CPU and memory usage as real or simulated visitors hit the site. You need to make sure you’re providing as little resistance as possible to high performance, by using minimal plugins, and also by using a static page caching plugin. I hope that helps you to determine the right path. If it were me, I’d start with 2GB of memory and see where things go.