I've recently tried Digitalocean hosting and decided to host this blog on it. I'm running a $5 / month server, or droplet as they call it, with 1 CPU, 512 MB of ram, 20 GB SSD and 1 TB of bandwidth. You even get $10 credit when you sign up, sweet!
You may look down on a $5 machine but I've found it to be more than enough for my need.
I'm serving "static" content that has been generated by Hugo
I recently ran some load testing at work for a newly launched website so I decided to test this $5 server. I've been using loader.io since its basic usage is free.
The server responds to a certain number of clients every second for a full minute.
The majority of the users must receive the page in < 5 secs. Only the html is loaded.
10.000 requests a second! (that is the maximum that loaded.io goes on a free plan)
Enable strong HTTPS
How strong you say?
As expected enabling https is taking its toll. The server can't accommodate less than half of the requests, "just" 4.000.
Full on PageSpeed on strong HTTPS
I've then enabled Google's PageSpeed module for Nginx and enabled every performance related filter!
I've enabled 27 extra filters on top of the 34 enabled by default, leaving just 7 out that were just for compatibility or counterproductive, hell I've even enabled the filter to make the G analytics script async when it's already implemented that way.
Result: a quite dramatic 150 clients/sec 😀
Here is the list of filters that I've enabled:
Brotli (max compression)
Just add Accept-Encoding: br to loader.io request headers and... 75 clients / sec. Not bad considering that I've enabled the maximum (11) level of compression!
..and, if you are curious about the compression, my homepage file sizes are (method from Mozilla's brotli post ):