Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

ajross: Ruby / Python doesn't have a great threading model (GIL in both cases is the culprit). Hence, if you have an app-server which is single threaded (event loop), or have other locks around servicing requests (like Rails Dispatcher), when the server makes the DB call, it effectively becomes unresponsive until the data is fetched.

You're absolutely right, sockets are cheap (if you can defer to kernel's select()) which is exactly what we're doing here. Instead of doing blocking IO, we convert the DB call into an asynchronous call.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: