Upgrading Linode

Distributed Systems with Node.js, O'Reilly 2020, has been published!

I've been happily hosting my various PHP/nginx websites and occasional crazy Node.js application on a Linode 1024 VPS for the last couple years. Recently I've been looking into AWS and other VPS/PaaS providers for side projects and figured I should check out what I was getting from my Linode.

Linode Upgrade/Downgrade
Linode Upgrade/Downgrade

Interesting. Apparently I haven't upgraded or performed a reboot on my VPS in a long time.

Linode Uptime
Linode Uptime

I believe these changes also included some SSD upgrades as well as a NIC overhaul. The vCPU “upgrade” from 8 cores to 2 is of course an obvious drawback. However, after doing some quick research, people were reporting before and after benchmarks having the same quality, as if a vCPU was more likely to be dedicated to one owner. The RAM usage was the most appealing as I barely touch bandwidth, so I figured it was worth the risk of upgrading.

Pre-Upgrade Benchmark (8 x vCPU)

$ siege -c 20 -r 100 https://thomashunter.name
** SIEGE 3.0.5
** Preparing 20 concurrent users for battle.
The server is now under siege.. done.

Transactions: 4000 hits
Availability: 100.00 %
Elapsed time: 412.95 secs
Data transferred: 7.33 MB
Response time: 1.49 secs
Transaction rate: <strong>9.69 trans/sec</strong>
Throughput: 0.02 MB/sec
Concurrency: 14.48
Successful transactions: 4000
Failed transactions: 0
Longest transaction: 6.76
Shortest transaction: 0.15

Post-Upgrade Benchmark (2 x vCPU)

$ siege -c 20 -r 100 https://thomashunter.name
** SIEGE 3.0.5
** Preparing 20 concurrent users for battle.
The server is now under siege.. done.

Transactions: 4000 hits
Availability: 100.00 %
Elapsed time: 254.19 secs
Data transferred: 7.33 MB
Response time: 0.72 secs
Transaction rate: <strong>15.74 trans/sec</strong>
Throughput: 0.03 MB/sec
Concurrency: 11.28
Successful transactions: 4000
Failed transactions: 0
Longest transaction: 2.85
Shortest transaction: 0.15

Conclusion

Benchmark CPU Before and After
Benchmark CPU Before and After

The number of transactions per second went up by 50%! The concurrency went down a little (less cores for handling concurrent processing), but that doesn't matter too much for a web server. As you can see in the image above, the CPU utilization went down a decent chunk as well.

The upgrade is definitely worth it. Fear not the reduced core count.

Thomas Hunter II Avatar

Thomas has contributed to dozens of enterprise Node.js services and has worked for a company dedicated to securing Node.js. He has spoken at several conferences on Node.js and JavaScript, is an O'Reilly published author, and is an organizer of NodeSchool SF.