Ralentizaciones festivas (y sus lados positivos!) en el AO3

Esta es la época del año cuando los fans participan en en intercambios de fics, beben sidra fermentada y maldicen a Un Archivo Propio por ser tan @#$!%&# lento. Porque después de un día de lidiar con multitudes o esperar en las cajas de las tiendas departamentales, nada te frustra más que ver un Error 502: Page did not respond in a timely fashion en tu fic favorito para confortarte.

¡Creénos, lo sabemos! También somos fans y usamos el AO3, y después de un largo día luchando contra las multitudes festivas o programando, nada nos frustra más que nos salga un Error 502 en nuestro fic favorito de confort, tampoco.

¡Queremos que sepas que estamos haciendo trabajando en esto! Actualmente estamos en el proceso de armar una nueva arquitectura de sistema — incluyendo la inminente adquisición de nuevos y brillantes servidores, gracias a tu ayuda — la que ayudará a mejorar nuestro desempeño de forma considerable.

Podemos (y lo hemos hecho) hacer montones de presunciones al realizar nuestro último lanzamiento, el cual incluyó la actualización a Rails 3 que era necesaria antes de proceder con la remodelación de los sistemas, y dimos lo mejor para mejorar el desempeño tanto en el proceso como inmediatamente después del lanzamiento. Pero al final, no hay substituto a observar resultados en el uso real cotidiano del sistema.

En este momento contamos con 11.000 usuarios y 120.000 trabajos hospedados: ¡estamos creciendo más rápido de lo que nunca habíamos soñado!

¿Qué es lo que va a suceder con este nuevo diseño?

Actualmente estamos trabajando con dos servidores — un servidor para una base de datos individual y otro servidor para la aplicación Rails.

La nueva arquitectura se verá más o menos así:

diagram of server topology
Haz click en la imagen para ampliar

Básicamente, estamos moviéndonos a un diseño donde podríamos, en un futuro, fácilmente conectar máquinas adicionales cuando se requieran, para mejorar el desempeño.

En este momento estamos comprando los nuevos servidores para implementar esta nueva arquitectura, pero no creemos que sea una buena idea implementar un cambio de sistema tan grande como este en este preciso momento. La implementación de esta nueva arquitectura no es trivial y planeamos hacerla en una forma más controlada y con mucho más espacio para tiempo fuera de línea cuando las cosas se calmen entrando el año. Están sucediendo muchas cosas en el AO3 – no sólo Yuletide, sino montones de otros intercambios festivos de fic – y realmente no queremos que todo nos explote.

Pero también, en este proceso, Yuletide – nuestro principal y más grande caso de prueba – es parte de una solución a largo plazo. Tener miles de usuarios, todos golpeando a las mismas secciones del archivo al mismo tiempo y estirando nuestros sistemas al límite, nos ayudará a identificar donde están los cuellos de botella más grandes y eso nos dirá cuales deberán ser nuestras prioridades al comprar el nuevo hardware.

Esto significa que las cosas están lentas ahora. Y estamos muy apenados por eso. Es parte de las razones por las que AO3 aún está en proceso de prueba o beta. No quitaremos el aviso de “Beta” hasta que no estemos razonablemente confiados de que el sistema puede manejar millones de usuarios e historias, sin caerse, explotar o tener grandes estancamientos. ¡Aún no llegamos a eso!

Así que les pedimos paciencia. Yuletide y otros intercambios – y el resultante uso intenso – son tremendamente útiles a largo plazo para AO3 y sus diseñadores y administradores de sistema. Es parte del proceso de prueba – ¡por favor entiendan que todo esto es necesario para que nosotros llevemos a AO3 a donde necesita estar!