SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Pruebas de carga web con Gatling
Jonathan Araña Cruz
#DrupalCampES2017.drupalcamp.es
about:me
Jonathan Araña Cruz / jonhattan
● +10 years Drupal
● +10 years sysadmin
● Drush maintainer. Other contribs
● Infrastructure as code
● Indentation, syntax highlight addict
Cuestiones
¿Qué respuesta da una web? Número de visitantes, tiempos de generación, tasa de
errores,...
➜ Monitorización, Analytics,...
¿Cómo variará ante cambios…?
● En el código
● En el volumen de contenido
● En la configuración de la infraestructura
● En los recursos hardware
● En el número de visitantes
➜ Pruebas de carga
Pruebas de carga
● Diseñar planes de carga
○ Ej: cuantas visitas por segundo quiero simular
● Diseñar escenarios
○ Simulación de la interacción de los usuarios en la web
● Medir:
○ Tiempos de respuesta, peticiones fallidas,...
○ Estrés del servidor: carga máxima/media, ram, swap…
● Interpretar datos, sacar conclusiones
Reproducibilidad de los tests
● Condiciones iniciales
● Definir pasos necesarios para la reproducibilidad (volver a las condiciones
iniciales)
○ Cargar bbdd de referencia
○ Reiniciar servidor web / bbdd / memcache / …
○ Flushear memoria (cachés, buffers..)
○ Esperar a que disminuya la carga del sistema, etc
Variabilidad
● Factores fuera de nuestro control
○ Servicios externos
○ Red (control de congestión, anti flood/dos...)
○ Eventos del sistema (origen o destino)
○ Complejidad
○ Timing
Herramientas
● Apache Bench - http://httpd.apache.org/docs/2.2/programs/ab.html
● JMeter - http://jmeter.apache.org
● Gatling http://gatling.io
● …
Gatling
● Open-source load testing framework
based on Scala, Akka and Netty
● High performance
● Ready-to-present HTML reports
● Scenario recorder and
developer-friendly DSL
Gatling: Escenarios
● Codificar desde cero
● Capturar una sesión real con un navegador
● Ajustar escenarios para su reproducción
gatling/bin/recorder.sh &
chromium --proxy-server=http://127.0.0.1:8000 &
Gatling: Prueba de carga
● https://github.com/jonhattan/gatling-example/commits/master
USERS=100 TIME=10 ./gatling/bin/gatling.sh -s RecordedSimulation
Caso real
● Web para preinscripción y reserva de plazas en eventos
● Fecha de apertura de inscripción
● ~ 2000 inscritos
https://docs.google.com/spreadsheets/d/1YT7WxqCJM5mqZBVoOf9tBp-2s06Uw
y95T218KRKQUGg/edit#gid=0
Pruebas de carga web con gatling

Más contenido relacionado

Similar a Pruebas de carga web con gatling

Ana Encinar | Front Performance | Codemotion Madrid 2018
 Ana Encinar | Front Performance | Codemotion Madrid 2018  Ana Encinar | Front Performance | Codemotion Madrid 2018
Ana Encinar | Front Performance | Codemotion Madrid 2018 Codemotion
 
Adrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptxAdrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptxAdrián Garrido
 
Optimizar WordPress - Presentacion Caracol Digital
Optimizar WordPress - Presentacion Caracol DigitalOptimizar WordPress - Presentacion Caracol Digital
Optimizar WordPress - Presentacion Caracol DigitalGerardo García Asensio
 
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?Martin Siniawski
 
Optimiza tus webs a bajo costo - WCVenezuela2021
Optimiza tus webs a bajo costo - WCVenezuela2021Optimiza tus webs a bajo costo - WCVenezuela2021
Optimiza tus webs a bajo costo - WCVenezuela2021Fernando Puente
 
Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...
Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...
Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...Software Guru
 
Rendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressRendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressLibreCon
 
WPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blogWPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blogAlfonso Moure Ortega
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
C:\fakepath\optimizacion
C:\fakepath\optimizacionC:\fakepath\optimizacion
C:\fakepath\optimizacionGonzalo C.
 
Configurando un servidor para Moodle
Configurando un servidor para MoodleConfigurando un servidor para Moodle
Configurando un servidor para MoodleDennis Cohn
 
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...Iván López Martín
 
The wpo academy_clinic_seo
The wpo academy_clinic_seoThe wpo academy_clinic_seo
The wpo academy_clinic_seoDigital Growth
 
Remodelación del sitio Web de Canaima GNU/Linux
Remodelación del sitio Web de Canaima GNU/LinuxRemodelación del sitio Web de Canaima GNU/Linux
Remodelación del sitio Web de Canaima GNU/LinuxLeonardo J. Caballero G.
 
Graphite - PHP Conference AR
Graphite - PHP Conference ARGraphite - PHP Conference AR
Graphite - PHP Conference ARruna
 
Thinking of CPU and Memory (2.0)
Thinking of CPU and Memory (2.0)Thinking of CPU and Memory (2.0)
Thinking of CPU and Memory (2.0)Oriol Jiménez
 

Similar a Pruebas de carga web con gatling (20)

Ana Encinar | Front Performance | Codemotion Madrid 2018
 Ana Encinar | Front Performance | Codemotion Madrid 2018  Ana Encinar | Front Performance | Codemotion Madrid 2018
Ana Encinar | Front Performance | Codemotion Madrid 2018
 
Adrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptxAdrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptx
 
Tecnologias_WEB.pdf
Tecnologias_WEB.pdfTecnologias_WEB.pdf
Tecnologias_WEB.pdf
 
Alternativas de hosting para WordPress
Alternativas de hosting para WordPressAlternativas de hosting para WordPress
Alternativas de hosting para WordPress
 
Optimizar WordPress - Presentacion Caracol Digital
Optimizar WordPress - Presentacion Caracol DigitalOptimizar WordPress - Presentacion Caracol Digital
Optimizar WordPress - Presentacion Caracol Digital
 
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
 
Optimiza tus webs a bajo costo - WCVenezuela2021
Optimiza tus webs a bajo costo - WCVenezuela2021Optimiza tus webs a bajo costo - WCVenezuela2021
Optimiza tus webs a bajo costo - WCVenezuela2021
 
Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...
Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...
Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...
 
Rendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressRendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPress
 
WPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blogWPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blog
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
 
C:\fakepath\optimizacion
C:\fakepath\optimizacionC:\fakepath\optimizacion
C:\fakepath\optimizacion
 
Configurando un servidor para Moodle
Configurando un servidor para MoodleConfigurando un servidor para Moodle
Configurando un servidor para Moodle
 
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
Greach 2013 - Todo lo que me hubiera gustado saber cuando empecé a desarrolla...
 
The wpo academy_clinic_seo
The wpo academy_clinic_seoThe wpo academy_clinic_seo
The wpo academy_clinic_seo
 
Remodelación del sitio Web de Canaima GNU/Linux
Remodelación del sitio Web de Canaima GNU/LinuxRemodelación del sitio Web de Canaima GNU/Linux
Remodelación del sitio Web de Canaima GNU/Linux
 
Graphite - PHP Conference AR
Graphite - PHP Conference ARGraphite - PHP Conference AR
Graphite - PHP Conference AR
 
Thinking of CPU and Memory (2.0)
Thinking of CPU and Memory (2.0)Thinking of CPU and Memory (2.0)
Thinking of CPU and Memory (2.0)
 
Pruebas del servicio web
Pruebas del servicio webPruebas del servicio web
Pruebas del servicio web
 
Requerimientos de PostgreSQL
Requerimientos de PostgreSQLRequerimientos de PostgreSQL
Requerimientos de PostgreSQL
 

Pruebas de carga web con gatling

  • 1. Pruebas de carga web con Gatling Jonathan Araña Cruz #DrupalCampES2017.drupalcamp.es
  • 2. about:me Jonathan Araña Cruz / jonhattan ● +10 years Drupal ● +10 years sysadmin ● Drush maintainer. Other contribs ● Infrastructure as code ● Indentation, syntax highlight addict
  • 3. Cuestiones ¿Qué respuesta da una web? Número de visitantes, tiempos de generación, tasa de errores,... ➜ Monitorización, Analytics,... ¿Cómo variará ante cambios…? ● En el código ● En el volumen de contenido ● En la configuración de la infraestructura ● En los recursos hardware ● En el número de visitantes ➜ Pruebas de carga
  • 4. Pruebas de carga ● Diseñar planes de carga ○ Ej: cuantas visitas por segundo quiero simular ● Diseñar escenarios ○ Simulación de la interacción de los usuarios en la web ● Medir: ○ Tiempos de respuesta, peticiones fallidas,... ○ Estrés del servidor: carga máxima/media, ram, swap… ● Interpretar datos, sacar conclusiones
  • 5. Reproducibilidad de los tests ● Condiciones iniciales ● Definir pasos necesarios para la reproducibilidad (volver a las condiciones iniciales) ○ Cargar bbdd de referencia ○ Reiniciar servidor web / bbdd / memcache / … ○ Flushear memoria (cachés, buffers..) ○ Esperar a que disminuya la carga del sistema, etc
  • 6. Variabilidad ● Factores fuera de nuestro control ○ Servicios externos ○ Red (control de congestión, anti flood/dos...) ○ Eventos del sistema (origen o destino) ○ Complejidad ○ Timing
  • 7. Herramientas ● Apache Bench - http://httpd.apache.org/docs/2.2/programs/ab.html ● JMeter - http://jmeter.apache.org ● Gatling http://gatling.io ● …
  • 8. Gatling ● Open-source load testing framework based on Scala, Akka and Netty ● High performance ● Ready-to-present HTML reports ● Scenario recorder and developer-friendly DSL
  • 9. Gatling: Escenarios ● Codificar desde cero ● Capturar una sesión real con un navegador ● Ajustar escenarios para su reproducción gatling/bin/recorder.sh & chromium --proxy-server=http://127.0.0.1:8000 &
  • 10. Gatling: Prueba de carga ● https://github.com/jonhattan/gatling-example/commits/master USERS=100 TIME=10 ./gatling/bin/gatling.sh -s RecordedSimulation
  • 11. Caso real ● Web para preinscripción y reserva de plazas en eventos ● Fecha de apertura de inscripción ● ~ 2000 inscritos https://docs.google.com/spreadsheets/d/1YT7WxqCJM5mqZBVoOf9tBp-2s06Uw y95T218KRKQUGg/edit#gid=0