Pregunta ¿Puedes ayudarme con mi planificación de capacidad?


Esto es un pregunta canónica acerca de planificación de capacidad

Relacionado:

Tengo una pregunta sobre la planificación de la capacidad. ¿Puede la comunidad de Server Fault ayudar con lo siguiente?


  • ¿Qué tipo de servidor necesito manejar? algun numero de usuarios?
  • Cuántos usuarios puede un servidor con algunas especificaciones ¿encargarse de?
  • Será alguna configuración del servidor ser lo suficientemente rápido para mi caso de uso?
  • Estoy construyendo un sitio de redes sociales: ¿qué tipo de hardware necesito?
  • ¿Cuánto ancho de banda necesito para algún proyecto?
  • ¿Cuánto ancho de banda tendrá? algun numero de usuarios utilizan en alguna aplicación?

131
2018-04-30 19:20


origen




Respuestas:


La comunidad de Server Fault generalmente no puede ayudarlo con la planificación de la capacidad. La mejor respuesta que podemos ofrecer es "Evalúe su código en hardware similar al que usará en la producción, identifique los cuellos de botella, luego determine qué carga de trabajo puede manejar su hardware actual y / o cuánta potencia de hardware necesita para manejar su carga de trabajo de destino".


Hay una serie de factores en juego en la planificación de capacidad que no podemos evaluar adecuadamente en un sitio de Preguntas y Respuestas:

  • Los requisitos de su código / software particular
  • Recursos externos (bases de datos, otro software / sitios / servidores)
  • Su carga de trabajo (pico, promedio, puesta en cola)
  • El valor empresarial del desempeño (análisis costo / beneficio)
  • Las expectativas de rendimiento de tus usuarios.
  • Cualquier acuerdo de nivel de servicio / obligaciones contractuales que pueda tener

Hacer un análisis adecuado de estos y otros factores está más allá del alcance de un simple sitio de preguntas y respuestas: requieren un conocimiento detallado de su entorno y los requisitos que solo su equipo (o un consultor debidamente compensado) pueden reunir de manera eficiente.


Algunos axiomas de planificación de capacidad

  1. La memoria RAM es barata
    Si espera que su aplicación utilice una gran cantidad de RAM, debe colocar la mayor cantidad de RAM que pueda pagar / ajustar.
  2. El disco es barato
    Si espera utilizar una gran cantidad de discos, debe comprar unidades de disco grandes, muchas de ellas.
    El almacenamiento SAN / NAS es menos económico y, por lo general, también debería ser grande en lugar de pequeño para evitar costosas actualizaciones posteriores.
  3. Las cargas de trabajo crecen con el tiempo
    Supongamos que sus necesidades de recursos aumentarán.
    Tenga en cuenta que el aumento puede no ser simétrico (la CPU y la RAM pueden aumentar más rápido que el disco) y puede no ser lineal.
  4. La electricidad es cara
    A pesar de que la memoria RAM y los discos han disminuido considerablemente en precio, el costo de la electricidad ha aumentado constantemente. Todos esos discos adicionales y RAM, sin mencionar el poder de la CPU, aumentarán su factura de electricidad (o la factura que paga a su proveedor). Planifique en consecuencia.

94
2018-01-17 15:46



¡Deberías dejarlo por completo y utilizar la integración por partes! - Gilles
+1. Y la RAM, como sugiere en el axioma # 1, es una de esas cosas que tiene enormes beneficios. Por ejemplo, aumenta su capacidad para utilizar mejor el almacenamiento en caché, lo que a su vez le permite hacer menos consultas a la base de datos, lo que a su vez aligera la carga en el disco y la CPU. A menudo me frustran los proveedores de alojamiento que ofrecen una CPU rápida con sus servidores y una cantidad mínima de RAM. - Steve Wortham
Yo añadiría a esto: Disco capacidad es barato. Disco actuación se pone caro Especialmente cuando vemos un crecimiento en el tamaño de los discos a lo largo de 10 años, pero las leyes de la física no han cambiado. La regla empírica que utilizo (a partir de hoy; junio de 2014) es que para un rendimiento óptimo: 75 IOP por eje en SATA, 200 IOP por eje en FC y 1500 IOP por SSD. Las unidades de disco SATA grandes proporcionan una relación IO por gigabyte bastante deficiente. - Sobrique


Planificación de conteo de máquinas virtuales

Cuando se trata de averiguar cuántas máquinas virtuales debería planear en un solo host, en realidad no hay reglas básicas realmente buenas. De hecho, solo hay uno, y solo es bueno:

Los recuentos de máquinas virtuales suelen estar limitados por RAM, excepto cuando no lo están.

Lo que no es muy útil. Si esas máquinas virtuales ejecutarán aplicaciones con poca CPU, entonces su limitador se basará en la RAM. Cada plataforma de VM tiene sus propias capacidades para sobresuscribir la RAM, por lo que no es tan fácil como TOTAL_RAM / Per-VM-RAM = MachineCount, pero ese número es un buen elemento de planificación.

Pero, ¿qué pasa si sus máquinas virtuales están haciendo cosas además del slinging de paquetes con poca CPU?


Los conteos de máquinas virtuales están limitados por siete recursos discretos disponibles para la máquina host:

  • Hipervisor VMware, Xen, HyperV, KVM, lo que sea. Cada uno tiene sus propias características que impactan la cuenta. Algunos son muy buenos en la deduplicación de páginas de memoria, otros no tanto. Algunos no permiten la suscripción excesiva de la capacidad de la CPU, otros lo hacen.
  • CPU Core Speed Esto limita el rendimiento máximo de un solo subproceso que una máquina virtual podrá ejecutar. 36 núcleos de una CPU de 1,8 GHz pueden ser 64,8 GHz de CPU en un host, pero ningún subproceso se ejecutará más rápido que 1,8 GHz.
  • CPU Core Count Esto, con la velocidad del núcleo, describe el techo del rendimiento máximo de la CPU que puede experimentar.
  • RAM del sistema Como se describió anteriormente, esto limita el número de máquinas virtuales que puede ejecutar. Ciertos hipervisores son mejores que otros en cosas como la deduplicación de páginas de memoria, por lo que si está ejecutando 100 máquinas virtuales idénticas, puede empaquetar mucho más en estos sistemas de deduplicación que si estuviera ejecutando 100 máquinas virtuales completamente diferentes.
  • Tamaño de disco Cada imagen del sistema operativo toma una cierta cantidad de espacio. Necesitas suficiente espacio para almacenarlo todo. Por lo tanto, el tamaño del disco pone un límite superior a cuántas máquinas virtuales puede hospedar.
  • Ancho de banda de E / S El disco subyacente a las máquinas virtuales tiene un máximo de cuántas E / S por segundo puede manejar. Si le arrojas demasiado, los sistemas se atascarán a la espera de que se complete la E / S. Esto pone un límite superior a la cantidad de máquinas virtuales que consumen E / S que puede ejecutar.
  • Ancho de banda de la red Para las máquinas virtuales que utilizan redes, el ancho de banda de la red disponible pondrá un límite a la cantidad de máquinas virtuales que puede ejecutar en un host determinado.

Todo esto puede ser lo que se te ocurra, todo depende de lo que estés haciendo con tus máquinas virtuales. Algunas cosas para recordar:

  • No existe tal cosa como un sistema genérico.
  • No existe un servidor web genérico., ya que el código de la aplicación puede ejecutarse desde apenas se mueve la aguja CDNEstilo de servicio, para cosas grandes y profundas como la transcodificación de video.
  • No existe tal cosa como un servidor de base de datos genérico.. Estos pueden ejecutarse desde pequeños sistemas utilizados solo para el seguimiento de estado de sesión, hasta muy grandes.

Para averiguar cuántas máquinas virtuales puede empaquetar en un sistema host, necesita saber cómo se ejecutan sus sistemas y qué requieren para funcionar bien. Una vez que sepas eso, puedes hacer la planificación del conteo. Y aún mejor, ¡descubra qué tan robusto necesita para hacer sus sistemas host!


42
2018-02-06 20:32



por encima de todo, use sistemas basados ​​en vm en dos servidores físicos separados con vm sin enlazar. Esto permite la falla del hardware sin pérdida de todo el sistema. vm puede moverse entre servidores idénticos sin pérdida de datos. solo las sesiones se pierden, luego se reconstruyen. personalmente, me gustaría subcontratar a una empresa de alojamiento que ofrece estos servicios (google o amazon). son caros pero mucho menos que correr los tuyos. - Random-IT
Lo que he visto con menos tamaño en las implementaciones de VM es la E / S de disco. La mayoría de la gente entiende el espacio en disco, la velocidad de la CPU y la memoria. Se olvidan de ese rendimiento del disco. - Dan Pritts


Asegúrate de que estás haciendo la pregunta correcta.

  • Las computadoras son baratas
  • Las necesidades futuras son muy difíciles de predecir.
  • Planee cómo escalar, no qué comprar antes de tiempo

Si no sabes lo que necesitarás, eso implica que no necesitas mucho. Si tiene un sitio web activo, es probable que también tenga un equipo de operaciones que sepa cuánto RAM, disco, io, red, etc. necesita su aplicación. Si está en la etapa de sueño, debe comenzar con su escritorio y trabajar de manera ascendente.

Asegúrate de tener una idea de cómo vas a escalar cuando las cosas se hagan más grandes. ¿Se pueden agregar más servidores detrás del equilibrador de carga? ¿Puedes compartir el servidor redis?

Además, tener tu propio centro de datos apesta. Un centro de datos (aunque solo sea una computadora) es una distracción de su propósito real. No se puede simplemente comprar una computadora, encenderla y alejarse. Necesita aire acondicionado, filtración de aire, energía confiable, internet confiable, copias de seguridad, piezas de repuesto, espacio físico para crecer, capacidad de energía para crecer, cables de alimentación que no se disparen y un millón de otros dolores de cabeza.


4