2008-09-18 19 views
5

Estoy trabajando en una propuesta de cliente y deberán actualizar su infraestructura de red para admitir el alojamiento de una aplicación ASP.NET. Esencialmente, necesito estimar el uso máximo para un sistema con una cantidad conocida de usuarios (actualmente 250). Una respuesta simple como "necesitarás una línea dedicada T1" probablemente sea suficiente, pero me gustaría tener datos para respaldarla.¿Cuál es el método más preciso para estimar el requisito de ancho de banda máximo para una aplicación web?

Another question hace referencia a NetLimiter, que se ve muy hábil para tener una idea de lo que se está utilizando.

Mi opinión general es que voy a disparar la aplicación web y utilizar el sistema como anticiparía que se utilizará en el cliente, realmente a un ritmo pausado, en un cierto lapso de tiempo, y luego multiplicar el uso del ancho de banda por el número de usuarios y divida por el tiempo.

Esto no parece muy científico. Puede ser lo suficientemente bueno para una propuesta, pero me gustaría ver si hay una mejor manera.

Sé que hay herramientas de carga disponibles para probar el rendimiento de las aplicaciones web, pero parece que éstas no simularían con precisión la carga pico de usuarios para fines de prueba de ancho de banda (demasiado a la vez).

La plataforma es Windows/ASP.NET y la aplicación se aloja dentro de SharePoint (MOSS 2007).

Respuesta

3

En lugar de una buena herramienta de generación de informes para el uso del ancho de banda, siempre puede hacer una aproximación aproximada.

N = Número de páginas vistas en horas de mayor actividad P = Promedio Página tamaño

(N * P)/3,600) = tráfico promedio por segundo.

El servidor en sí tendrá mucho más tráfico interno para probablemente el servidor de db/NAS/etc. Pero el enfrentamiento externo debería darle una idea muy aproximada sobre la utilización. Obviamente, tendrá que superar con creces el valor anterior, ya que nunca desea que se lo utilice al 100%, y para permitir otro tipo de tráfico.

Tampoco recomendaría usar un número arbitrario como 250 usuarios. Use el día/hora de producción más pesado como referencia. Doble y triple si lo desea, pero eso le dará la distribución esperada del comportamiento del usuario si tiene buenos archivos de registro/auditoría de usuario. Le ayudará a que su estimación sea más precisa.

Como señaló otro comentador, un centro de datos es una buena idea, cuando la redundancia y la disponibilidad de ancho de banda se vuelven una preocupación. Sus necesidades pueden variar, pero no descarte la sugerencia a la ligera.

+1

Para pasar de las estimaciones de tráfico promedio a la capacidad de planificación para las cargas de ráfaga, consulte las excelentes notas de Charlie Martin sobre este comentario: http://stackoverflow.com/questions/379478/whats-the-best-way-to-determine-the -hardware-requirements-for-an-application/379543 ​​# 379543 –

3

Hay varias preguntas adicionales que deben hacerse aquí.

¿Son 250 usuarios en total o 250 usuarios concurrentes? Si es concurrente, ¿es ese 250 pico, o 250 típicamente? Si se trata de 250 usuarios en total, se espera que todos lo utilicen al mismo tiempo (por ejemplo, un sitio de intranet, donde las personas deben usarlo como parte de su trabajo), o es más un sitio de la comunidad donde pueden o no pueden usarlo? Supongo que, de la forma en que lo redactaste, se trata de 250 usuarios en total, pero eso aún no dice lo suficiente sobre el sitio como para hacer una estimación.

Si se trata de una comunidad o sitio de Internet "normal", también dependerá del uso, por ejemplo, las personas realmente lo usarán intensamente, o es algo que algunos usuarios simplemente iniciarán sesión una vez, y luego ¿olvidar? Esta puede ser una pregunta difícil desde su punto de vista, ya que querrá asumir la primera, pero si gasta mucho dinero en infraestructura de red y nadie termina usándola, puede ser algo muy malo.

¿Qué está haciendo el sitio? En el extremo inferior del espectro, hay una aplicación web "típica", donde tiene páginas de tamaño razonable (por ejemplo, 1-2k) y un puñado de imágenes. Un poco más intenso es un sitio que tiene una gran cantidad de medios, por ejemplo, exploración de imágenes estilo flickr. En el extremo superior hay un sitio con muchas descargas: transmisión de películas o solo archivos de gran tamaño o datasets que se descargan.

Esto se está quedando un poco fuera del umbral de su pregunta, pero otra cosa a tener en cuenta es el futuro del sitio: ¿el uso posiblemente se duplicará en el próximo año o mes? Tenga cuidado de no tener un contrato a largo plazo con algo como una conexión T1 o fibra, sin tener que actualizar.

Otra pregunta es la fiabilidad: ¿necesita redundancia en las conexiones? Puede costar mucho por adelantado, pero hay formas de hacer conexiones multi-hogar donde puede equilibrar el acceso a través de un par de enlaces, y luego simplemente usar uno (aunque con capacidad reducida) en caso de falla.

Otra opción a considerar, que efectivamente le permite evitar completamente esta pregunta, es simplemente hospedar la aplicación en un centro de datos.Usted paga una tarifa mensual relativamente baja (baja en comparación con el costo de una conexión dedicada de alta calidad), y obtiene todo el ancho de banda que necesita (por ejemplo, la mayoría de los planes de alojamiento le darán algo así como 500GB de transferencia al mes, para comenzar - y algunos simplemente te darán ilimitado). El centro de datos también será más confiable que cualquier otro que pueda construir (excepto su propio centro de datos de 6+ cifras) porque tienen internet redundante, respaldo de energía, enfriamiento redundante, protección contra incendios, seguridad física ... y tienen personas que administran todo de esto para ti, por lo que nunca tendrás que lidiar con eso.

Cuestiones relacionadas