NVMe spool set
How fast do you wanna go?

We had a new partner planning to use our backbone early December and needed to handle a decent traffic increase. We didn’t expect any issues with our existing infrastructure but wanted to ensure that we could handle the additional load. While researching solutions we found it fascinating that article age metrics are so skewed towards very new articles. It makes sense if you think about it. The news cycle is quick these days. Most people prefer new news over old news.

Below is a snapshot of age metrics we generated from backend spool i/o stats.

article_age_graph

We have a massive amount of articles going back many years, but the graph clearly shows that a large percentage (40%+) of the articles read are less than 7d old. Working with the assumption that our new partner would have a similar usage pattern, we decided to deploy a shallow NVMe spool set in front of our normal HDD (7200rpm SAS) cluster.

The spools were put into production on 11/30 and within a few hours we noticed a significant reduction in average article retrieval latency. This is one of the key metrics we watch and the reduction was impressive. The NVMe spools simply run laps around anything else on the market. Roughly 37% of the articles requested saw the average latency change from 25ms to 3ms. Blazing!

We’re very happy with how this upgrade improved our service. Anyone with a high speed internet connection will notice articles zipping down at an amazing speed. Enjoy.

P.S. We know that customers are rightfully worried about logging etc. The data used to generate our metrics is not tied to end user accounts. Age metrics are collected on our backend spools that fulfill the requests, which don’t know who requested a particular message-id. In addition, the message-id is not part of the metric, only the age of the article is calculated.