NorthScale Blog

Insights and opinions on NoSQL, membase, and memcached
NorthScale
April 20th, 2010

Tuning Memcached Timeouts for a Cloud Environment

These days, more and more apps are running in the cloud, and they’re starting to take memcached with them. For example, as we announced earlier this week, nearly 300 applications are using NorthScale’s memcached as a service on Heroku’s Ruby-based PaaS cloud platform.

In the past, most environments using memcached have run it on a single, controlled LAN: usually the frontend web servers sitting on the DMZ, without even the normal firewall or router sitting between the DMZ and the database. In this environment, one can reasonably expect that server failures are far more likely than even a single dropped packet, and waiting for a retransmit is likely to take longer than a hit to the database, so it makes sense to set extremely aggressive timeouts, on the order of 100-250ms or less, for memcached operations.

In contrast, cloud networking environments tend to be far less controlled, since they’re shared with other customers, and even the location of a given service is not necessarily under the control of the user. Read more »

March 15th, 2010

Avoiding Death Spirals in Distributed Systems

What’s a death spiral?

Single-node death spirals
A former employer of mine was contracted to build an email routing system for one of the world’s largest companies. They had me do the design and spec out the hardware, and then another group set out to build it. Read more »