Dev

Twitter’s record-breaking night killed the Fail Whale, no thanks to Ruby

On election night, Twitter eclipsed many of its own records and even beat Facebook as the preferred medium to announce and spread news.

So how is it that the once crash-prone service saw nary a fail whale amid last night’s social media frenzy? Twitter’s engineering czar chalks it up to Ruby — rather, to the fact that Twitter has turned its back on the Ruby stack for good.

Throughout the day yesterday, Twitter users sent around 31 million election-related tweets. At the height of result-tallying activity, the service was getting 327,452 tweets per minute (TPM) about the election alone, with tweets on all topics totaling 874,560 TPM at last night’s peak, far outstripping previous records.

While Twitter used to see brief spikes during major media events, Twitter infrastructure VP Mazen Rawashdeh wrote today on the company blog that election night was a sustained, hours-long onslaught of activity — a traffic pattern the company also experienced at lower volumes during the Olympic closing ceremonies and the VMAs.

Twitter’s Election Traffic Spikes

  • 8:03pm ET, polls close: 65,106 TPM
  • 9:33pm ET, PA and WI races called: 69,031 TPM
  • 11:12pm ET, IA race called: 85,273 TPM
  • 11:19pm ET, networks declare Obama victory: 327,452 TPM

“Over time, we have been working to build an infrastructure that can withstand an ever-increasing load,” Rawashdeh said.

“For example, we’ve been steadily optimizing the Ruby runtime [see Twitter's detailed post on dealing with the Ruby garbage collector]. And, as part of our ongoing migration away from Ruby, we’ve reconfigured the service so traffic from our mobile clients hits the Java Virtual Machine (JVM) stack, avoiding the Ruby stack altogether.”

Ouch, Ruby! You need some aloe for that burn?

Conflict manufacturing aside, Twitter has for some time known that as its place in the world of media grows, it’s becoming more of a public information utility and less a mere microblogging service. As such, downtime is unacceptable. We know it, and they know it, too.

“The bottom line: No matter when, where, or how people use Twitter, we need to remain accessible 24/7, around the world,” said Rawashdeh. “We’re hard at work delivering on that vision.”