La semana pasada Twitter estrenó un reemplazo para su Ruby-on-Rails, un servidor Java llamado Blender. Esta máquina produce tres veces menos latencia de búsqueda. Aparte del desempeño también permitirá a Twitter reiterar rápidamente las opciones de búsquedas en los próximos meses.
La búsqueda de Twitter entrega más de 1000 millones de pedidos al día. La semana antes de que Blender sea instalado, el terremoto y tsunami de Japón contribuyeron a un incremento importante en la carga generada por las búsquedas y por ende un pico en la latencia. Luego del lanzamiento de Blender, las latencias del 95avo percentil fueron reducidas de 800ms a 250ms y la carga sobre el CPU fue reducida en la mitad. Como resultado de las mejoras Twitter ahora tiene la capacidad de servir 10 veces el numero de pedidos por maquina, reduciendo significativamente los costos de servicio.
Todo esto se inicio en la primavera del 2010 cuando el equipo de búsqueda comenzó a reescribir el motor de búsquedas para acomodar el creciente tráfico, mejorar la latencia y disponibilidad, y permitir un desarrollo mas ágil de nuevas opciones de búsqueda. Ahora la compañía finalmente está disfrutando los frutos de su trabajo.
El próximo paso para Twitter es eliminar Ruby-on-Rails por completo, conectando sus usuarios directamente a Blender y reducir aun mas las latencias. Para saber más sobre el antiguo servidor Ruby-on-Rails y como se compara a Blender, un servicio Thrift y HTTP construido a partir de Netty, puede leer el blog post llamado “
Twitter Search ahora es 3x mas rápido.”