Shamelessly promoting PHP, Myself, and my services
21 May
So, twitter is down again, all jokes aside, I know a lot of people say the problem with twitter is that it’s built on RoR, is it really? Is ROR really the problem? Or is it bad infrastructure? Could it be that twitter as simple as it is, is actually innovative in what it’s trying to do? Or is it doing something very simple, in a very foolish manner?
For the people who say the problem with Twitter is RoR, I’d like to ask them and possibly bribe them, into building a clone of twitter, in their language of choice.
Why? Because, I’m curious.. is it really the language, or the framework? or just poor architecture? is the architecture poor due to the framework’s limitations? I’ve thought a little bit about what Twitter is doing, and I can’t think of any other application that does the type of notification, except financial sites, and stock tickers.. but they usually claim the 20 minute delay.
I haven’t done any real research on twitter’s problems, I’m a consumer so I didn’t feel like trying to figure out where their blog is, or who is actually behind twitter, so pardon me if my question is dumb to some of you.
5 Responses for "Twitter - is it the Ruby, is it the Rails, or is it the shoes?"
It’s not Rails.
You should digg more into the execution model of Ruby, that’s where the real problem lies. It’s not ready yet, they are still struggling to produce a stable and self-contained model. Like any other old scripting language that wants to make a comeback, they need to adapt to new technologies and requirements. The wen today, is not the same as 10 years ago. And Ruby woke up just a couple of years ago, that’s why it’s always a step behind.
Ruby on its own nor Rails as a framework is the issue that is inside twitter, it is the whole extreme amounts of write compared to the amounts of read pattern that happens, no matter how you look at it, there are a HELL of a lot of disk writes. One of the best things they could do is probably (now i don’t know the internals of their system but i know scalability) move to a multi box setup that had ‘new’ events stored in SSD drives of some description and then sync’d back to a master database on a regular basis so as to allow SOME caching to be able to work. Blaming rails for it is premature, i do not think rails is the best solution, im a php advocate afterall, however i dont think its their biggest issue either.
I bet anyone can produce a twitter clone in no time, but how are you gonna test it against Twitter? The massive amount of traffic is a problem per se, and most people will probably never reach that state.
Till: I agree, the traffic is what will be the hardest to simulate.. but from a theory standpoint, building the system with a similar API could be fun to do, then using ab, siege etc, just stress testing the crap out of it.
The problem is, since we don’t have a good insight into the twitter infrastructure, it’s hard to say what is identical and what isn’t.
Leave a reply