February 17th, 2008 A 'problem' with the Mongrel/Rails platform A request comes in to the web server, and if it's dynamic, falls down to a waiting mongrel process. Mongrel calls Rails which wraps a big lock around most of the request/response cycle so the mongrel thats serving the request has to wait for a response from Rails to unlock and start serving other requests. This is the Blocked Thread stability anti-pattern that Michael Nygard talks about in Release It!. The problem is that Nginx or Apache doesn't know that a mongrel is blocked and keeps blindly sending requests. Thats means that even a single blocked mongrel will result in some slow responses for requests that come in to that same mongrel. Cut the Request Fat And one way to do that is to use the "Skinny Request, Fat Backend" principle. What that means in practical terms is pretty simple: Do as little as possible inside of the Request/Response cycle.
It is greatly ironic that algorithms, the quintessential example of all that is not human, would be so fundamental to social media. Last week I wrote a post about how Google gathers user data. This week I continue by exposing how popular social media webs
Chain.js – Data Binding Service for jQuery Chain.js is a jQuery plugin, providing unobtrusive data-binding capability that allows you to generate web contents automatically by binding your data to html. Unlike other data-binding frameworks and library, it uses pure DOM, instead of string-based innerHTML approach, so event binding won’t gone during rendering. This library can also be very helpful if you strictly separate your data from your HTML, e.g. developing using MVC-Pattern