Can Twitter's backbone handle sudden jump in popularity?

Can Twitter's backbone handle sudden jump in popularity?

Summary: For the past week or so, I've been noticing - and hearing some rumblings about - a greater-than-normal number of overload errors spewing from Twitter. Even though the overloads likely are stemming from the recent mainstream Twitter craze - which is a good thing - it's clear that Twitter is not equipped to be handling this level of traffic.

SHARE:

For the past week or so, I've been noticing - and hearing some rumblings about - a greater-than-normal number of overload errors spewing from Twitter. Even though the overloads likely are stemming from the recent mainstream Twitter craze - which is a good thing - it's clear that Twitter is not equipped to be handling this level of traffic.

That's not a good thing.

In the month of February, U.S. traffic to Twitter was up more than 1,000 percent from a year earlier, according to comScore. Worldwide, the number of visitors in February was up more than 700 percent from the previous year. It's probably safe to say that the growth curve will stay on the upswing for March and April, too. That means more traffic and more overload messages.

Over at the Tech Broiler blog, Jason Perlow has put up a post that explains why he thinks the backbone technology that's processing these millions and millions of tweets is insufficient - especially given the growth numbers. Perlow refers to the processes as transactions - yeah, just like a major financial institution might manage. He explains that at any given time, millions of rows of Twitter data are being both written and read, which is different from, for example, Google's search engine, which tends to be more "read-intensive." Perlow writes:

Google is able to distribute their database and “spiders” the web as it needs to, inserting data into it using a sophisticated algorithm and fully in control of when it happens. While many millions of users query Google’s database on demand, data isn’t inserted into it so quickly that its requirements are I/O bound at the database level — much of what is being queried is being pulled out of cache, which is residing in memory. Google is able to minimize the number of disk writes and stripe reads over a large amount of systems using fairly off-the-shelf components. So can Twitter do the same thing as Google and build a large distributed cluster of systems, such as with Aster Data’s “Beehive” or a few hundred racks of Kickfires to solve the problem? In a word, no.

Perlow - who fully discloses his IBM connection - says Twitter needs a mainframe. Maybe two. I can't speak for the needs of Twitter's backbone with any real degree of expertise. But I do now that whatever is back there powering Twitter today obviously is not beefy enough to handle the growth in traffic. Sure, we're in tough economic times and an investment in a mainframe might be tough to swallow - especially since Twitter still hasn't announced a solid plan for how it plans to make money.

Also see: Twitter: A fine 'pre-business' but un-monetizable and a deadly acquisition target

But Twitter can't just keep throwing up error messages and Fail Whale screens. How will the company grow membership - or even hang on to the members it has now - if the experience starts becoming more of a hassle than it's worth? It has to make an investment of some sort - and Perlow goes on to explain why different approaches won't work:

Twitter’s performance problems cannot be solved in a massive scale out distributed systems manner.. Twitter is doing all those simultaneous row inserts while it is doing reads, which is murder on CPU and on IOPS and you would eventually run into scalability problems, and the build out costs using [mid-range] systems would be cost prohibitive.

Topics: Hardware, Servers, Storage, Telcos, Social Enterprise

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

4 comments
Log in or register to join the discussion
  • IT Infrastructure and Unexpected Growth

    Interesting post. It seems as if the cost factor vexed Twitter from the beginning. There's no way that Twitter management could have made the case for an expensive mainframe--much less two--upon founding the company. [i]Who would have guessed that the application would have become so popular?[/i]

    Amidst the rumors of a buy-out from Google or LinkedIn and with no discernible revenue model yet, it's unlikely that Twitter's management would make this investment now.

    Note that Twitter's challenges are hardly unique. When eBay's growth expanded beyond the capacity of its hardware, the site experienced more than a few system outages.

    I suppose that Twitter needs to decide what it wants to be when it grows up. If its management decides that it wants to be a stand-alone company, then it should probably bite the bullet and either buy a mainframe or make some type of increased investment in technology to support its viral growth. If not, then it should look for an exit strategy soon. Too many "system errors" will only inhibit its growth and drive its users to its competitors.
    phil_simon
  • RE: Can Twitter's backbone handle sudden jump in popularity?

    As a avid twitter user (www.twitter.com/NickIrons) I am willing to put up with some growing pains. I mean, the service is free. Who are we to complain?

    Nick Irons
    www.MarylandPersonalTrainer.com


    NickIrons
  • Ruby!

    Ruby has also been blamed as a factor for Twitter not being able to handle the load. Ruby itself is not the culprit. It seems that the Twitter people have decided to write lots of code that was otherwise available from open source. Ruby is good at many things, but notoriously bad at two things: Providing support for messages queues (key for Twitter's performance) and garbage collection. As far message queues are concerned, there are a lot of alternatives out there outside of Ruby, but Twitter decided to write their own, not necessarily the best move. For garbage collection, an alternative would be to use JRuby, which leverages the JVM and its garbage collection facility. So, sure, the reasons for Twitter's performance problems brought up in Sam's blog above are major factors, but the choice of technology to implement the web site is also important.
    Eleutherios
  • RE: Can Twitter's backbone handle sudden jump in popularity?

    Twitter works off of Amazons EC2 services, and not their own infrastructure. They are pulling all the stops, reducing API call/hour etc. It is probably a combination of poor planing, lack of cash, and poor core utilization of the EC2 service. If amazon can run off the service, why cant twitter?
    25dl