Todos soñamos con conseguir la web o app que triunfe definitivamente, el nuevo Facebook, el nuevo Twitter... pero también tenemos pesadillas sobre como sobrellevar ese éxito y no morir bajo toneladas de visitas que no somos capaces de servir. El tema del rendimiento es, por tanto, algo capital y la gente de Stack Exchange comparte sus secretos en esta materia en forma de un atractivo gráfico cargado de jugosa información.
Stack Exchange, la casa madre de Stack Overflow (que tanto adoramos en este vuestro blog) y otras muchas webs de preguntas y respuestas, tiene en torno a 560 millones de páginas vistas al mes, una cifra nada desdeñable que conlleva una transferencia de 34 TB de datos. Y para conseguir estar arriba siempre y dar unos tiempos de respuesta atractivos (52 Ms en la home, 33 Ms en páginas de preguntas) en estas condiciones utilizan lo siguiente:
-
9 servidores web que suman hasta 48 GB de RAM y que pueden manejar picos de hasta 250 peticiones por segundo.
-
4 servidores SQL organizados en dos clusters que suman hasta los casi 3 TB de tamaño de base de datos.
-
2 servidores Redis.
-
3 servidores Tag Engine para indexar todas las preguntas que se hacen en Stack Exchange (y que ellos consideran poco menos que la joya de la corona de su arquitectura).
-
3 servidores Elasticsearch.
-
2 servidores Haproxy para balancear cargas.
-
Websockets capaces de mantener hasta 260.000 conexiones.
-
Y en cuanto a tecnologías de programación: ASP.NET, Dapper ORM, StackExchange.Redis, DotNetOpenAuth, MiniProfiler y Jil.
Desde luego un sistema y una arquitectura de la que tomar buena nota si nuestras perspectivas son las de montar algo grande.
Vía e imagen | StackExchange