2011-04-26 8 views
8

Estoy buscando un marco de código abierto bien mantenido para pruebas de carga de servicios http. Sería bueno si pudiera crear solicitudes HTTP arbitrarias, controlar la tasa de reqeusts y graficar el consumo de recursos a lo largo del tiempo. Lo ideal sería utilizar SNMP para recopilar datos de un servidor remoto que está probando.Marco de prueba de carga de código abierto

Respuesta

16

Apache JMeter es bueno para las pruebas de carga. http://jmeter.apache.org/ Tiene muchas características y una buena interfaz gráfica de usuario. Darle una oportunidad.

Otra alternativa que viene incluida en muchas distribuciones de Linux y OS X es la herramienta ab. También hay otro programa llamado boom escrito originalmente en Python (https://github.com/tarekziade/boom) y luego en Ir (http://msdn.microsoft.com/en-us/library/system.codedom.codecompileunit(v=vs.110).aspx).

Pero JMeter tiene un montón de funciones e informes sofisticados entre todos.

+1

+1 con la advertencia de que si necesita utilizar un certificado SSL del cliente, parece que no hay forma de hacerlo automáticamente: el certificado debe adjuntarse manualmente a través de la GUI. – neilh

5

Probablemente puede usar ab? (punto de referencia apache)

ab -c 100 -n 1000 http://yoursite.com/your_page.html 

Ejecutará 1000 veces la solicitud con 100 solicitudes en paralelo.

+0

Estoy buscando algo un poco más avanzado. – rook

+1

httperf, autobench, openload? – Riba

1

Si usa Visual Studio, no necesita buscar la solución 'de código abierto', ya que tiene incluida una solución integrada. Desde el primer momento, le permite escribir código en "crear solicitudes HTTP arbitrarias", "controlar la tasa de solicitudes" y "graficar el consumo de recursos a lo largo del tiempo" y también incluir agentes que puede usar para distribuir la generación de carga en varios servidores. Me encantó.

See an intro here.

2

¿Qué tal loadUI? Lo he usado varias veces y puede manejar una variedad de tipos de servicios web. Bastante buen software, creo ;-)

3

Solía ​​usar apache banco (ab) pero me moví a httperf últimamente y he estado muy contento con él.

2

The Grinder es también un buen marco de prueba de carga basado en Java.

  • Puede guiar sus pruebas con Python o Clojure.
  • Tiene una GUI Swing decente como JMeter.
  • Puede ejecutar varias instancias de inyección de carga, lo que le proporciona un marco de prueba de carga distribuida.
  • Es extensible, ya que tiene un sistema de complemento.
1

Yandex.Tank es un marco para las pruebas de carga. Características:

  • Cuenta con arquitectura modular basada en complementos, por lo que será fácil de extender para sus necesidades
  • Se pueden utilizar diferentes generadores de carga (JMeter entre ellos)
  • hay un plugin report.
  • Autostops. Puede detener su prueba automáticamente en diferentes condiciones.
  • HTTP API server.
  • InfluxDB y Graphite support.
-1

Creo que la mejor opción es utilizar Taurus - esto es un framework de código abierto que le permite ejecutar muchas herramientas de pruebas de carga tales como JMeter, Amoladora, Gatling, Apache Benchmark y más. Lo bueno de Taurus es que obtienes la funcionalidad de cada una de estas herramientas de código abierto y puedes crear fácilmente escenarios de prueba utilizando formatos YAML o JSON.

1

Bienvenido al mundo de Gatling.io.

Este es de lejos el mejor framework de pruebas de carga de código abierto con el que me encontré. Ventajas -

  1. Los scenerios de prueba se pueden construir utilizando el framework de scripts Gatling o en Scala.
  2. Informes HTML claros, exhaustivos, dinámicos y coloridos después de ejecutar los casos de prueba -> el análisis es útil.
  3. Proporciona alto rendimiento.
  4. Soporte también para HTTP, protocolos WebSocket y soporte JMS. Y cualquier otra implementación de protocolo es perfectamente posible.
  5. La arquitectura de Gatling es asincrónica y está basada en mensajes. Por lo tanto, los hilos no se crean para miles de usuarios separados, por lo que es un recurso barato. Correr miles de usuarios simultáneamente puede hacerse a gusto. ->esto lo hace mejor que otros frameworks de prueba de carga de código abierto.
  6. La supervisión en tiempo real también es posible.
  7. La documentación es buena y útil.
Cuestiones relacionadas