Lessons learned tuning TCP and Nginx in EC2

“Our average traffic at Chartbeat has grown about 33% over the last year and depending on news events, we can see our traffic jump 33% or more in a single day. Recently we’ve begun investigating ways we can improve performance for handling this traffic through our systems. We set out and collected additional metrics from our systems and we were able to reduce TCP retry timeouts, reduce CPU usage across our front end machines by about 20%, and improve our average response time from 175ms to 30ms…”

Part 1: Lessons learned tuning TCP and Nginx in EC2

“In part 1 of our post, one of the items we discussed was our issues with using DNS as a load balancing solution. To recap, at the end of our last post we were still setup with Dyn’s load balancing solution and our servers were receiving a disproportionate amount traffic to them. Server failures were still not as seamless as we wanted, due to the issues with DNS TTLs not always being obeyed and our response times were a lot higher than we wanted them to be, hovering around 200-250ms…”

Part 2: Lessons learned tuning TCP and Nginx in EC2

Are You Smarter Than A Crow?

“Crows are the intellectual badasses of the avian world. They have been regarded throughout history for their intelligence and new research continues to show how remarkable they really are. A new experiment designed by corvid expert Alex Taylor from the University of Auckland in New Zealand was set to be the most difficult puzzle the New Caledonian crows had ever faced. The difficult eight-part puzzle was featured on BBC Two’s Inside the Animal Mind…”


Guide to Advanced Programming in C

“C language is language of choice for systems programming, embedded systems and also viable option for many other applications. While it is not likely to have serious interest in computer programming and not to be touched by C, it is extremely challenging to understand all its aspects and shady corners. This article attempts to provide dense material to illuminate some of those areas. Namely: integer promotions, memory allocation, array to pointer conversions, explicit inlining, interpositioning and vector conversions…”