Webdock Performance Philosophy
Webdock has built a unique hosting environment based on LXD (Linux Containers) with ZFS as our storage backend. This means that not only are you getting the best possible performance in a virtualized environment (very close to bare metal) - but you are benefitting from the pure awesomeness which is ZFS on fast SSD drives.
- Do not oversell server resources.
- Which ensures that there is a fair and appropriate proportion of server resources available to each client
- Whose performance should be able to scale up significantly during peak load, without affecting other virtual machines negatively
- And provide up-to-date and optimized production-ready webserver stacks which we keep continuously updated
Essentally, with Webdock you can in a few clicks provision a pretty awesome web server.
Webdock I/O Performance vs. Market Leaders
Figures are accurate at the time of writing, September 27th 2018
Thanks to Webdock user Imad Daou who created the benchmarking script below, and performed all the tests, we can now present comprehensive disk I/O comparison between Webdock and most of the market leaders in VPS hosting at the moment.
We look at market leaders and want to do even better. Disk I/O is really important for web server performance. Typically providers use network attached storage, so even if they advertise that their servers have SSD drives they are typically a lot slower than on-board SSD hardware. Webdock only uses on-board SSD's which gives us the edge in these tests.
The same benchmarking script was run against all the services, and an effort was made to locate serves in the same part of the world as well as choosing somewhat equivalent VPS's specicifation-wise.
Click on the links below for raw script output, for lots more and detailed information, for all vendors:
|Provider||RAM||Storage||CPU||Transfer||Price / Month|
|Webdock||8 GB||50 GB||6 Cores / 12 Threads||Unlimited Bandwidth/Month||$ 24.00 / Month|
|Vultr||4 GB||100 GB||4 vCores||5TB Bandwidth/Month||$ 40.00 / Month|
|OVH Regular||8 GB||80 GB||2 vCores||Unlimited Bandwidth/Month||$ 16.00|
|OVH S1-8||8 GB||40 GB||2 vCores||Unlimited Bandwidth/Month||$ 16.00|
|Linode||8 GB||160 GB||4 vCores||5TB Bandwidth/Month||$ 40.00|
|Lightsail||8 GB||160 GB||2 vCores||5TB Bandwidth/Month||$ 40.00|
|DigitalOcean||8 GB||160 GB||4 vCores||5TB Bandwidth/Month||$ 40.00|
|Contabo||8 GB||200 GB||4 vCores||Unlimited Bandwidth||$ 6.00|
Average I/O throughput and read test
Here we visualize the benchmark for average I/O throughput in GB/second using dd on the various platforms. The most important metric here is the average throughput. The read test is a bit synthetic across all platforms, as often data is being cached in RAM so this test might barely be hitting the disk at all in some - of not all - cases.
FIO Read/Write IOPS Throughput
Here we visualize the results of the FIO IOPS Read/Write test. Webdock dominates the competition in this test, which is probably the most accurate w/regards to real-life performance.
Webdock Performance - Delivering raw pageviews
Figures are accurate at the time of writing, July 23rd 2018
Disclaimer: This test is by no means comprehensive and is inherently biased as we love Webdock.
We look at market leaders and want to do even better. We decided to pit a baseline (read: cheapest) Webdock SSD server against two of the leading hosting providers, namely Linode which promotes Zeus-like performance on SSD-only hardware and DigitalOcean.
tl;dr. In short, a basic Webdock server is up to 14x faster than the competition and can churn out lots more pageviews / second. Take a look at our graphs below.
- Basic Webdock SSD Server with 2GB RAM guaranteed running on a Intel® Core® I7-6700 Skylake CPU
- To keep the environment the same, we used Laravel Forge to set up an Nginx 7.2 stack with MariaDB on Ubuntu Bionic on all platforms
- The stack runs a standard - clean - Wordpress install. No plugins or bells and whistles installed.
- No caching mechanisms enabled. No settings were changed on the server from Forge defaults nor in Wordpress.
Using our optimized Webdock LEMP stack will give you even better results than what you see below, as Laravel forge has very conservative defaults. Choosing a more capable Webdock SSD server will give you truly awesome speeds for your money.
We ran three distinct tests using ApacheBench from a server located in Helsinki Finland. We provisioned Linode and DigitalOcean servers in Frankfurt and we measured the latency from our test server to the Linode and DigitalOcean servers as well as our Webdock server. The difference in latency was about 5 milliseconds, inconsequential in the larger scheme of things as you will see from the results below.
The tests executed with Apachebench were as follows
10 sequential requests
~# ab -n 10 -c 1 http://our.test.server.com/
Sequential requests means that ApacheBench performed 10 requests, waiting for each requests to complete before submitting the next. This test is good to get a baseline of what the average response time is for the server.
100 requests, 10 concurrent threads
~# ab -n 100 -c 10 http://our.test.server.com/
Now this test is basically the same as before, but where the server is hit with 10 simultaneous requests, 10 times in a row (10x10=100). This is good as a basic stress test to see how quickly the server can turn out pages under load.
2000 requests, 100 concurrent threads
~# ab -n 2000 -c 100 http://our.test.server.com/
Here we just scale up the concurrency tenfold to see how well the server deals with heavy load.
The benchmark: Webdock vs. similarily priced servers
If you are interested in all the gory details, click here to download the raw output from ApacheBench
We start out by pitting Webdock against a Linode $5 server and DigitalOcean $5 server. $5 is about 4.2 Euro at the time of writing, and this is the closest we can get to our pricing. The hardware specifications are as follows:
- 25 GB SSD
- 1 GB RAM
- 1 CPU Core
- Location: Frankfurt
- 25 GB SSD
- 1 GB RAM
- 1 CPU Core
- Location: Frankfurt
The Webdock server is our standard Micro SSD instance at the time of writing
- 3 GB SSD
- 2 GB RAM
- 4 cores, 8 threads available
- Location: Nuremberg
We will be performing requests to the front facing webpage of the standard Wordpress installation. This is a relatively light-weight all things considered, and is a fair example of a typical webpage.
Disk I/O is really important for web server performance. Typically providers use network attached storage, so even if they advertise that their servers have SSD drives they are typically a lot slower than on-board SSD hardware. Webdock only uses on-board SSD's which gives us the edge in these tests.
As can be seen in the graphs above, all three providers are neck-and-neck in the baseline concurrency test. This basically just means that when the servers are under little or no load, they are equally fast at delivering pages.
However, once we start upping the concurrency level - and simulating heavy load - Webdock and our Linux Container VPS solution with adaptive CPU scaling really starts to shine. We are up to 14x faster at serving 2K pageviews than Linode and about 9x faster than DigitalOcean.
How do the dashboard stats look like for a busy webserver?
This is how the statistics looked for a major website launch one week after the event. The site in question was migrated to a Webdock SSD instance as it was filesystem and database heavy, which resulted in not insignificant Time To First Byte speed improvement.
Below you can see the usage statistics as seen in the Webdock dashboard 1 week after launch. As can be seen, we shifted almost 0.5TB of data the first day. CPU use peaked at about 1400 seconds per 30 min., which is quite a bit and max memory use was about 2GB. The drop in disk utilization on the day of launch is due to some cleanup we performed. The site still shifts about 50Gb of traffic every day.