Actualización: Olvidé mencionar que habían toqueteado el kernel :/ JAM hace muy bien resumen de esos apaños
Parece relevante también comentar lo que dicen en High Scalability sobre el memcached de Facebook y las conclusiones que se pueden sacar:
A summary of potential strategies:
- Profile everything. Problems are always specific. The understanding of the problem must be specific. The fix must be specific.
- Burn profiling into your regression tests. Detect when and where performance tanks as a regular part of your build.
- Use resources in proportion to what grows slowest. This requires multiplexing, but at least your resource usage is more predictable and bounded.
- Batch work. When you have the CPU do all the work you possibly can in the quantum or the whole system grinds to a halt in processing overhead.
- Do work and maintain resources per task. Otherwise locking for shared resources takes more and more time when there's less and less time to do the work that needs to be done.
- Change algorithms. Sometimes you simply need to do things differently. Tweaking will only get you so far.
La misma entrada y más comentarios en Facebook publica su versión modificada de memcached en barrapunto