4 ms·
>Yeah the web tier is rarely the bottleneck, People say this all the time- While I think it is mostly true, I think it is more often untrue then most would ass
by voidlogic 12y ago
>Yeah the web tier is rarely the bottleneck,
People say this all the time- While I think it is mostly true, I think it is more often untrue then most would assume. In well optimized systems the "IO layer" is optimized first as it rightly should be, at this point improving the single-threaded performance and concurrency/parallelism start to really matter.
>can be scaled linearly
Sure but scaling my number of servers linearly however doesn't imply linear maintenance/operations effort... If I can run a order of magnitude less severs, I am going to save money. Its all about figuring out if the savings are worth shift to a higher performance platform... but playing devils advocate if one had started with the higher performance platform to begin with...
>when it is and typically very susceptible to caching.
That is making a lot of assumptions about the problem space at hand. But its fair point, when things are catchable, its magical.
- spullara 12y agoTwitter got a 10x reduction in number of front-end web servers and a 10x latency improvement by changing the platform. The layer literally called thrift services and made HTML pages. The 10x reduction in servers was great at the scale that they were at but the 10x decrease in latency was the real winner and it had nothing to do with scale. Pure single request performance.
- ddorian43 12y agothey probably also rewrote the code (they just didn't change the language) right ?
- grobinson 12y agoI think you're asking whether they optimized the rewrite, rather than just ported it from Ruby to Scala? I too would be interested to know if there is any data to this.
- ddorian43 12y agoThat's what happens most of the time.
- spullara 12y agoIt was an exact port including bugs — output needed to be exactly the same as that was the best way to test the result. I wouldn't say the Scala code was any more optimized than the Ruby code was over the years. In fact, lots more effort had been put against optimizing the Ruby side (for example, the template engine was written in C for performance).