En la operación y mantenimiento, la prueba de esfuerzo es un trabajo muy importante. Por ejemplo, antes de que un sitio Web en línea, puede soportar tanto tráfico, cómo actuación en casos de alto tráfico, estos datos indicadores es bueno o malo afectará directamente a la experiencia del usuario.
Sin embargo, hay una comunidad en una prueba de esfuerzo, es el resultado de las pruebas de estrés no será idéntica a la carga real, incluso si las pruebas de estrés de hacerlo mejor, no podemos garantizar al 100% el rendimiento idénticos y en línea. Frente a estos problemas, sólo podemos tratar de encontrar la manera de simular. Por lo tanto, la prueba de esfuerzo es necesario, con estos datos, vamos a ser capaces de hacer su propia plataforma de mantenimiento tener en cuenta.
Actualmente el sitio más común para herramientas de pruebas de estrés WebBench, ab (Apache banco), tcpcopy, LoadRunner.
Lionbridge WebBench desarrollado por la compañía, la prueba principal y el número de solicitudes por segundo por segundo cantidad de transferencia de datos, soporta tanto estático como dinámico, SSL, simple de implementar, puede ser estática y pruebas dinámicas. Para prueba de esfuerzo pequeño sitio web (Singleton puede simular hasta 30.000 concurrente).
ab (Apache banco) propia herramienta de pruebas de estrés de Apache, la principal función del número de sitios de prueba manejar las solicitudes por segundo, lo más común para las pruebas de resistencia estática, la función es la debilidad de las pruebas de estrés herramientas, no profesionales.
tcpcopy pidió a ser copiado en base a una aplicación subyacente, vario solicitud en línea puede ser enviada al servidor de prueba que tiene una función distribuida prueba de esfuerzo, los datos de prueba y los datos reales de producción más cerca de las esquinas, que se utiliza principalmente para pruebas de tensión grandes, basado en todos los paquetes disponibles tcp prueba.
Dean sector de la prueba de esfuerzo LoadRunner, puede crear un usuario virtual, el usuario puede simular el acceso real al proceso con el fin de grabar la secuencia de comandos, los resultados de la prueba son también la simulación más realista de la más realista y puede ser una unidad de pruebas independientes, pero la configuración de implementación es más compleja, la necesidad de profesionales puede.
Aquí, el autor de AB por ejemplo, para explicar el sitio antes de la prueba de esfuerzo en la línea es cómo hacerlo.
ab es para Apache herramienta de pruebas de rendimiento, puede instalar única herramienta ab.
instalación de Ubuntu ab
1 |
|
centos instalación ab
1 |
|
Es necesario preparar un simple html antes de la prueba, un php, un archivo de imagen.
Eran a ensayar.
Ponemos los tres archivos en el directorio directorio de instalación por defecto nginx html,
Después de la preparación podemos probar la
1 |
|
Este comando utilizará 1000 concurrentes, conectados 1000 veces. Los resultados son como sigue
1 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
|
Para los archivos php y archivos de imagen se pueden utilizar las mismas instrucciones, que no han publicado los resultados salieron.
1 2 3 |
|
Podemos salida se puede entender desde el sentido literal.
Aquí debajo de la descripción de dos de los indicadores más importantes hacer
tal como
1 2 3 4 |
|
Los medios actuales de la prueba de que el servidor puede manejar peticiones de Asuntos 16,54 estática html por segundo, por detrás de la media representa la media. Este valor indica el rendimiento global actual de la máquina, mejor será el valor.
1 |
|
latencia concurrente individual, este último representa la media de la media.
concurrente actual aislado, el tiempo promedio para completar una solicitud separada requiere.
Por cierto, hablar de la diferencia entre los dos veces por solicitud
1 2 |
|
Un retraso antes de que la medida de una solicitud individual, segmento de tiempo de la CPU se divide a su vez cumplir con la solicitud, el caso de solicitudes simultáneas múltiples en una necesidad concurrente que esperar mucho tiempo para obtener el siguiente intervalo de tiempo.
Cómputo de tiempo por solicitud: 60.444 [ms] (media, a través de todas las solicitudes concurrentes) * concurrente
Cuando el punto popular que tras la finalización de los concurrentes -n 1000 10 solicitudes -c mientras que, además añadido una solicitud para completar el tiempo de promedio requerido.
Después de una medida del rendimiento, lo que refleja el tiempo medio necesario para completar una solicitud, en la concurrencia actual, aumentando el tiempo requerido para una solicitud.
Cómputo de tiempo tomado para las pruebas: 60.444 segundos / solicitudes completas: 1000
通俗点说就是当以-c 10的并发下完成-n 1001个请求时,比完成-n1000个请求多花的时间。
你可以适当调节-c 和-n大小来测试服务器性能,借助htop指令来直观的查看机器的负载情况。
我的机器是盛大云的超微主机,平时负载cpu是1.7%,htop命令结果截图
加压后的负载100%,负载基本已经上来了。htop命令结果截图
看来我需要好好优化一下,或者就换台机器了。
parámetros ab explicación de detallados
la prueba ordinaria, use -c parámetro -n ajuste para completar la tarea
formatos: ./ab [opciones] [http: //] nombre de host [: puerto] / ruta de acceso
parámetros:
número total de peticiones de prueba -n . Por defecto, una petición para realizar una única
-c una serie de peticiones concurrentes. Por defecto es uno.
-H encabezado de solicitud Además, por ejemplo, 'Accept-Encoding: gzip', como petición de modo gzip.
número máximo -t de segundos a los ensayos efectuados. Su valor se oculta en el interior -n 50000. Se permite la prueba del servidor se limita a dentro de un plazo fijo total. Por defecto, no hay límite de tiempo.
-p fichero contiene los datos requeridos POST.
datos de contenido-cabecera -T post del tipo utilizado.
qué nivel de detalle proporcionado -v 4 - o un valor más grande se visualiza la información de cabecera, 3 o un valor mayor se puede mostrar código de respuesta (404, 200, etc.), dos o más avisos grabados y otra información. número de versión de pantalla -V y salida.
-w resultados de salida en las tablas HTML. Por defecto, es el fondo blanco de dos anchuras de una mesa.
-No lo CABEZA solicita en lugar de GET.
-C -C galleta-name = valor de una solicitud de la galleta adicional: la línea. Es típicamente en la forma de un nombre de parámetro = pares de valores. Este parámetro se puede repetir.