2009-02-11 27 views
5

En muchas arquitecturas de sistema de empresa, es imperativo dimensionar el hardware según los requisitos de carga de trabajo de concurrencia &. En su mayoría, los proveedores de productos proporcionarán sus propias hojas de dimensionamiento de hardware en las que simplemente se conectan las métricas y arrojarán detalles sobre la cantidad de servidores, la memoria RAM requerida, etc. Sin embargo, cuando el sistema se desarrolla utilizando componentes de software de código abierto, tales pautas no están disponibles.Dimensionamiento de hardware - Reglas de pulgar

Necesito hacer el dimensionamiento del hardware de un sistema. El sistema es escalable horizontalmente para que el creciente volumen de tráfico se pueda acomodar agregando más nodos. Para empezar, el sistema tendrá dos nodos de equilibrador de carga HAProxy. Detrás de los equilibradores de carga se encuentran los servidores web que sirven páginas HTML y javascripts. Hay más servidores de alojamiento de nodos para servicios web RESTful. Hay algunos nodos Cassandra en el back-end. Tenemos una idea aproximada sobre el tráfico o los usuarios simultáneos.

¿Cuál debería ser mi enfoque para el tamaño del hardware? ¿Hay alguna guía general?

Respuesta

6

Esta es quizás una de las preguntas más difíciles de responder. Estaba mirando este hilo con interés para ver lo que otros pudieron haber pensado.

La respuesta debe hacerse teniendo en cuenta la plataforma de hardware, el sistema operativo, servidor de aplicaciones, servidor de base de datos, etc. que ejecuta su producto, así como la complejidad relativa de su producto. Un sitio que sirve HTML estático se escalará a muchos más usuarios que un sistema OLTP.

Conocer las capacidades innatas de su plataforma de destino es fundamental. Sabiendo que ASP.NET admite 12 subprocesos/CPU simultáneos (configuración predeterminada), que puede usar el almacenamiento en caché para reducir la concurrencia, o más de 3.000 solicitudes/seg. Requiere Ethernet gigabit para el servidor de la base de datos, etc. puede ayudarlo a planificar adecuadamente , sepa qué palancas tiene que tirar, etc.

Las hojas de dimensionamiento de hardware del proveedor son un reflejo del esfuerzo significativo que se realiza al realizar pruebas de rendimiento y capacidad de sus productos. Esto puede ser difícil de vender para las aplicaciones en las que realiza un desarrollo interno o un desarrollo sin fines de lucro.

En resumen, su objetivo debe ser comenzar a hacer POC de las áreas más complejas de su producto y luego comenzar a invertir en el rendimiento continuo y las iteraciones de planificación de capacidad.

Si no se hace esto, es probable que se produzca una falla (falla en el rendimiento, falla en la planeación de la capacidad o falla del negocio), los usuarios nunca llegaron.

Ojalá tuviera una mejor respuesta: me enfrento a este mismo desafío.

0

Si tiene el lujo de no tener que implementar a los 1,000 usuarios en el primer día, me sentiría tentado de usar la virtualización para ayudarlo con este problema. Primero construiría los servidores en bare-metal y verificaría que son funcionalmente lo que necesita. A continuación, utilice el software de VM que desee como convertidor P2V para convertir imágenes de disco físicas a virtuales. Luego quitaba los discos originales del servidor y los almacenaba de forma segura, insertaba algunos nuevos, instalaba su hipervisor de elección, añadía la VM convertida, la activaba, agregaba las herramientas para su VM/SO y veía cómo se llevaba . Si tu servidor funciona, entonces lo que te has dado a ti mismo es la portabilidad. Puede comenzar con un centenar de usuarios, medir la carga, extrapolar y hacer algunas suposiciones. Luego agregue más usuarios, pruebe sus suposiciones, etc. Si llega a 1,000 usuarios y hay espacio de sobra, entonces genial, puede permanecer con el entorno virtual (ventajas: buenas opciones de recuperación de desastres, portabilidad, contras: pierde algo de rendimiento) o volver a la construcción de metal desnudo sabiendo que maneja el trabajo. Si su estaño se está calentando, puede mover la máquina virtual a un hardware más grande/mejor/más rápido o copiar la máquina virtual a otro host de máquina virtual y clúster similares.

Sé que no responde sus preguntas directamente, pero no estoy seguro de que haya reglas generales para esto realmente, ya que hay una gran fluctuación en la carga por usuario basada en tantos factores.

Si tiene un mes o más hasta que tenga que pedir sus servidores, puede considerar los nuevos Xeons basados ​​en Nehalem: realmente valen la pena la espera.

+0

Gracias Chopper3. Esa fue una muy buena visión general del uso de la virtualización para construir de manera adaptativa la infraestructura requerida. Sin embargo, lo que busco son métricas básicas fácilmente disponibles sobre la capacidad de manejo del usuario, soporte de simultaneidad, carga de trabajo, etc. para varias familias de procesadores/servidores. – gnlogic

0

puntos siguientes pueden ayudarle a

  • Elige una medida para determinar el tamaño
  • previsión de carga estimado de la CPU
  • Modelo de dimensionamiento para procesamiento en línea (Aplicación y servidores de base de datos) Estimación
  • Tamaño de RAM Estimación duro Tamaño del disco
  • Estimación del tamaño del ancho de banda de la red
  • Estimación del palo Procesamiento ch TAMÑO
  • de hardware y software vendedores sobre su procesamiento
Cuestiones relacionadas