Nuestra comunidad experimenta picos de tráfico elevados basados en eventos del mundo real, concretamente partidos de hockey sobre hielo, que generan alrededor de 1000 mensajes en un tema dedicado en aproximadamente 2,5 a 3 horas. Como se discutió en otro tema, tenemos dificultades para gestionar estos picos.
Esto me ha llevado a explorar otras opciones de alojamiento, con un presupuesto limitado. El objetivo es alrededor de 50 € al mes. El mercado ha evolucionado desde la última vez que estudié las ofertas.
Por solo 42 € puedes obtener un servidor dedicado de Hetzner, con un CPU Ryzen 5 3600. Es un procesador bastante potente con 6 núcleos. Por casualidad, tengo un CPU similar en este portátil, y puede realizar cálculos de un solo hilo aproximadamente un 40..50 % más rápido que un VPS típico de buen rendimiento.
Pero en el mismo rango de precios puedes comprar un VPS que tenga un gran número de núcleos, con un rendimiento algo menor. Contabo te ofrece 10 núcleos por solo 27 $ y Hetzner llega hasta 16 núcleos por 62 €. Y estos son solo ejemplos; hay muchos otros proveedores.
Estas ofertas me han dejado preguntándome: ¿qué configuración de núcleos es ideal para Discourse, en términos de maximizar el rendimiento máximo? ¿Pocos con mayor rendimiento o muchos de ellos?
He intentado buscar esto y principalmente encontré mis propias publicaciones antiguas . Recuerdo que este fue un tema que surgió aquí y allá en los primeros días, pero no se ha discutido exhaustivamente recientemente. Mucho código ha cambiado a lo largo de los años, ¿quizás el comportamiento del software o las recomendaciones generales también han cambiado?
Tienes razón, son publicaciones antiguas, pero la tendencia parece consistente
¿Qué tal una instancia escalable para las noches de juegos? Con un poco de tiempo de inactividad, es fácil hacer copias de seguridad y escalar hacia arriba o hacia abajo. Tuve un problema similar con una instancia de Jitsi (gran componente por cierto ); la mayor parte del tiempo estaba inactiva, pero unas pocas veces a la semana…
Aunque presenté nuestro caso en el OP, la intención era discutir esto a un nivel genérico. Es posible que entre en el mercado de alojamiento a medio plazo, independientemente de si he identificado o no nuestra causa raíz.
Para Discourse, debes priorizar núcleos rápidos sobre una mayor cantidad de núcleos. Si puedes conseguir ambos, aún mejor (para escenarios de carga). Pero en el caso típico, 2 núcleos rápidos rendirán mejor en general que 4 núcleos lentos.
Solemos medir esto en tiempo de compilación; aquí tienes algunos ejemplos. Pero cualquier prueba de rendimiento de un solo hilo también sirve.
Lo ideal es tener un tiempo de compilación inferior a 4 minutos (240 segundos).
No soy un experto en el tema, pero no estoy seguro de que los núcleos virtuales de un VPS sean comparables en absoluto con los núcleos físicos de una CPU. Supongo que, para tener una aproximación general, podrías observar la cantidad de RAM ofrecida y asumir que ejecutan estos VPS en una computadora de 256 MB. Contabo, con sus “10 núcleos (virtuales)”, ofrece 60 MB de RAM. Probablemente ejecutan 4 de estos en algo equivalente aproximadamente al servidor dedicado de Hetzner que mencionas (un servidor con 256 MB). Por lo tanto, asumiría que los “10 núcleos (virtuales)” representan aproximadamente una cuarta parte del rendimiento de los “6 núcleos (físicos)”. Digamos, como máximo, la mitad si ejecutan 2 de ellos en una computadora de 128 MB (que podría tener una CPU mejor o más lenta que la máquina de Hetzner, quién sabe).
(Realmente solo puedes comparar “núcleos virtuales” entre las diferentes ofertas de VPS del mismo proveedor. Ni siquiera estoy seguro de que tenga sentido para comparar VPS de diferentes proveedores).
Si quieres saberlo con certeza, debes suscribirte durante 1 mes y ejecutar una prueba de rendimiento. O convencerlos de que la ejecuten por ti, o que te ofrezcan una prueba gratuita por un período corto. Si lo que realmente buscas es rendimiento, esa es la única forma real de saberlo para los VPS. O opta por un servidor dedicado donde tienes información más precisa.
EDIT: Los proveedores de VPS como Contabo suelen usar KVM para la virtualización, y tras una búsqueda, parece que efectivamente puedes mostrar más “núcleos virtuales” de los que realmente tienes núcleos físicos. Ejemplo:
Mientras revisaba esta oferta y pensaba “hum, buena oferta”, noté que la memoria RAM no era ECC. Hice una búsqueda rápida en la web y ¿qué apareció? este artículo del blog de Jeff
¡Vaya, ya estoy alojando con Hetzner, pero a un precio más alto, con un CPU más lento y menos almacenamiento que sus actuales cajas Ryzen. Esto hace que cambiar sea muy interesante… ¡gracias por la nota!
¿Alguien ha realizado pruebas con diferentes CPUs en relación al tamaño de la caché L3?
He visto algunas menciones de que Ruby es muy exigente en cuanto a memoria. Eso podría dar una pista sobre el posible impacto del tamaño de la caché de la CPU, ya que Discourse trabaja con grandes conjuntos de datos.
Estoy decidiendo sobre un nuevo servidor y eligiendo la CPU adecuada. Me pregunto si debo optar por la mayor frecuencia de reloj o tener en cuenta también el tamaño de la caché L3.
Actualmente estoy mirando la Intel® Xeon® E-2174G con 4 núcleos a 3,8 GHz y 8 MB de caché. Pero hay opciones más caras con 12 MB o 16 MB de caché. ¿Vale la pena el dinero extra?