SlideShare una empresa de Scribd logo

Las palmas devops: Pruebas de carga web

Las pruebas de carga son útiles para medir la respuesta de una web (o aplicación en general) ante un conjunto de peticiones recibidas. Los datos que obtenemos al realizar una serie de pruebas de carga nos sirven para determinar cómo responde nuestra aplicación y la infraestructura donde se aloja. En esta presentación se muestra cómo usar Gatling, una herramienta que nos permite configurar baterías de test y lanzarlos contra una web.

1 de 13
Descargar para leer sin conexión
Ejemplo práctico con Gatling
Pruebas de carga web
Las Palmas DevOps Jonathan Araña Cruz
Jonathan Araña Cruz (aka jonhattan)
Sysadmin en la onda DevOps
Drupal developer
http://atlantic-canary.net
http://github.com/jonhattan
@_jonhattan_
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

Recomendados

Continuous performance: Load testing for developers with gatling
Continuous performance: Load testing for developers with gatlingContinuous performance: Load testing for developers with gatling
Continuous performance: Load testing for developers with gatlingTim van Eijndhoven
 
TestWorks Conf Performance testing made easy with gatling - Guillaume Corré
TestWorks Conf Performance testing made easy with gatling - Guillaume CorréTestWorks Conf Performance testing made easy with gatling - Guillaume Corré
TestWorks Conf Performance testing made easy with gatling - Guillaume CorréXebia Nederland BV
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsMichael Lihs
 
Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012Gatling Tool in Action at DevoxxFR 2012
Gatling Tool in Action at DevoxxFR 2012slandelle
 
Automated Testing Talk from Meet Magento New York 2014
Automated Testing Talk from Meet Magento New York 2014Automated Testing Talk from Meet Magento New York 2014
Automated Testing Talk from Meet Magento New York 2014Joshua Warren
 
Gatling Tool in Action at Devoxx 2012
Gatling Tool in Action at Devoxx 2012Gatling Tool in Action at Devoxx 2012
Gatling Tool in Action at Devoxx 2012slandelle
 

Más contenido relacionado

Similar a Las palmas devops: Pruebas de carga web

Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
C:\fakepath\optimizacion
C:\fakepath\optimizacionC:\fakepath\optimizacion
C:\fakepath\optimizacionGonzalo C.
 
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
 
The wpo academy_clinic_seo
The wpo academy_clinic_seoThe wpo academy_clinic_seo
The wpo academy_clinic_seoDigital Growth
 
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
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014Carlos Camacho
 
Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Dani Reguera Bakhache
 
Optimiza tus webs Grails. Greach 2011
Optimiza tus webs Grails. Greach 2011Optimiza tus webs Grails. Greach 2011
Optimiza tus webs Grails. Greach 2011Dani Latorre
 
Desarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalablesDesarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalablesGlobant
 
Optimizar WordPress - Presentacion Caracol Digital
Optimizar WordPress - Presentacion Caracol DigitalOptimizar WordPress - Presentacion Caracol Digital
Optimizar WordPress - Presentacion Caracol DigitalGerardo García Asensio
 
Charla betabeers optimización y rendimiento en Wordpress - Marcos Ramajo
Charla betabeers optimización y rendimiento en Wordpress - Marcos RamajoCharla betabeers optimización y rendimiento en Wordpress - Marcos Ramajo
Charla betabeers optimización y rendimiento en Wordpress - Marcos RamajoMarcos Ramajo
 
The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?Digital Growth
 
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
 
Caso de estudio - Optimizacion en magento
Caso de estudio - Optimizacion en magentoCaso de estudio - Optimizacion en magento
Caso de estudio - Optimizacion en magentoSugerendo
 
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
 
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
 

Similar a Las palmas devops: Pruebas de carga web (20)

Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidad
 
C:\fakepath\optimizacion
C:\fakepath\optimizacionC:\fakepath\optimizacion
C:\fakepath\optimizacion
 
Pruebas del servicio web
Pruebas del servicio webPruebas del servicio web
Pruebas del servicio web
 
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
 
The wpo academy_clinic_seo
The wpo academy_clinic_seoThe wpo academy_clinic_seo
The wpo academy_clinic_seo
 
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
 
Grails barcamp 2013
Grails barcamp 2013Grails barcamp 2013
Grails barcamp 2013
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014
 
Tecnologias_WEB.pdf
Tecnologias_WEB.pdfTecnologias_WEB.pdf
Tecnologias_WEB.pdf
 
Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress
 
Optimiza tus webs Grails. Greach 2011
Optimiza tus webs Grails. Greach 2011Optimiza tus webs Grails. Greach 2011
Optimiza tus webs Grails. Greach 2011
 
Desarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalablesDesarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalables
 
Optimizar WordPress - Presentacion Caracol Digital
Optimizar WordPress - Presentacion Caracol DigitalOptimizar WordPress - Presentacion Caracol Digital
Optimizar WordPress - Presentacion Caracol Digital
 
Charla betabeers optimización y rendimiento en Wordpress - Marcos Ramajo
Charla betabeers optimización y rendimiento en Wordpress - Marcos RamajoCharla betabeers optimización y rendimiento en Wordpress - Marcos Ramajo
Charla betabeers optimización y rendimiento en Wordpress - Marcos Ramajo
 
The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?
 
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
 
Caso de estudio - Optimizacion en magento
Caso de estudio - Optimizacion en magentoCaso de estudio - Optimizacion en magento
Caso de estudio - Optimizacion en magento
 
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?
 
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
 
Front Performance
Front PerformanceFront Performance
Front Performance
 

Último

Castillo_Dayana_y_Gavilanes_Soledad_Tarea_2.pdf
Castillo_Dayana_y_Gavilanes_Soledad_Tarea_2.pdfCastillo_Dayana_y_Gavilanes_Soledad_Tarea_2.pdf
Castillo_Dayana_y_Gavilanes_Soledad_Tarea_2.pdfSoledadGavilanes
 
Portafolio Steffanie Rosales - Contenido
Portafolio Steffanie Rosales - ContenidoPortafolio Steffanie Rosales - Contenido
Portafolio Steffanie Rosales - Contenidomsrm9489
 
Virus Informático Bruno Baameiro CDI.pdf
Virus Informático Bruno Baameiro CDI.pdfVirus Informático Bruno Baameiro CDI.pdf
Virus Informático Bruno Baameiro CDI.pdfbrunobaameiro
 
Plan de Clase_Aula Invertida infopedagogia
Plan de Clase_Aula Invertida infopedagogiaPlan de Clase_Aula Invertida infopedagogia
Plan de Clase_Aula Invertida infopedagogiaferpatfut1109
 
CARTA_PUBLICA_JUAN_ORLANDO_FEB_2024 (1).pdf
CARTA_PUBLICA_JUAN_ORLANDO_FEB_2024 (1).pdfCARTA_PUBLICA_JUAN_ORLANDO_FEB_2024 (1).pdf
CARTA_PUBLICA_JUAN_ORLANDO_FEB_2024 (1).pdfivanasofiatorres2
 
Jennifer_Gavilanes_Naranjo_Tarea_4_ Parcial_2
Jennifer_Gavilanes_Naranjo_Tarea_4_ Parcial_2Jennifer_Gavilanes_Naranjo_Tarea_4_ Parcial_2
Jennifer_Gavilanes_Naranjo_Tarea_4_ Parcial_2SoledadGavilanes
 
Temas de FilosofÃ_a-Anexos version DGETi.pdf
Temas de FilosofÃ_a-Anexos version DGETi.pdfTemas de FilosofÃ_a-Anexos version DGETi.pdf
Temas de FilosofÃ_a-Anexos version DGETi.pdfverdeivette50
 
¿Cómo realizar presentaciones en Google_.pdf
¿Cómo realizar presentaciones en Google_.pdf¿Cómo realizar presentaciones en Google_.pdf
¿Cómo realizar presentaciones en Google_.pdfInesBarnola
 
Las TICS en el ámbito educativo, escolar y laboral
Las TICS en el ámbito educativo, escolar y laboralLas TICS en el ámbito educativo, escolar y laboral
Las TICS en el ámbito educativo, escolar y laboral231415006
 
La celestina Fernando de Rojas aaaaaaaaa
La celestina Fernando de Rojas aaaaaaaaaLa celestina Fernando de Rojas aaaaaaaaa
La celestina Fernando de Rojas aaaaaaaaatonamapi
 
COMUNICACIÓN, TRADICIONAL Y PARA LOS MEDIOS DIGITALES
COMUNICACIÓN, TRADICIONAL Y PARA LOS MEDIOS DIGITALESCOMUNICACIÓN, TRADICIONAL Y PARA LOS MEDIOS DIGITALES
COMUNICACIÓN, TRADICIONAL Y PARA LOS MEDIOS DIGITALESpauulaaherranz
 
Práctica 1. Pasaporte de identificación Info
Práctica 1. Pasaporte de identificación InfoPráctica 1. Pasaporte de identificación Info
Práctica 1. Pasaporte de identificación Infoferpatfut1109
 
Plan de busqueda_Aula invertida infopedagogia
Plan de busqueda_Aula invertida infopedagogiaPlan de busqueda_Aula invertida infopedagogia
Plan de busqueda_Aula invertida infopedagogiaferpatfut1109
 
Gavilanes_Naranjo_Jennifer_Tarea_1_Parcial_1
Gavilanes_Naranjo_Jennifer_Tarea_1_Parcial_1Gavilanes_Naranjo_Jennifer_Tarea_1_Parcial_1
Gavilanes_Naranjo_Jennifer_Tarea_1_Parcial_1SoledadGavilanes
 
Carlos Silva - CHECKLIST accesibilidadUNE71362.pdf
Carlos Silva - CHECKLIST accesibilidadUNE71362.pdfCarlos Silva - CHECKLIST accesibilidadUNE71362.pdf
Carlos Silva - CHECKLIST accesibilidadUNE71362.pdfCarlosSilvaBentez1
 
torrescarrera_brittaniyamilet_M1S4P1.pptx
torrescarrera_brittaniyamilet_M1S4P1.pptxtorrescarrera_brittaniyamilet_M1S4P1.pptx
torrescarrera_brittaniyamilet_M1S4P1.pptx231476260
 
Comunidad virtual de aprendizaje en la educacion
Comunidad virtual de aprendizaje en la educacionComunidad virtual de aprendizaje en la educacion
Comunidad virtual de aprendizaje en la educacionaxelsanchez701
 

Último (18)

Castillo_Dayana_y_Gavilanes_Soledad_Tarea_2.pdf
Castillo_Dayana_y_Gavilanes_Soledad_Tarea_2.pdfCastillo_Dayana_y_Gavilanes_Soledad_Tarea_2.pdf
Castillo_Dayana_y_Gavilanes_Soledad_Tarea_2.pdf
 
Portafolio Steffanie Rosales - Contenido
Portafolio Steffanie Rosales - ContenidoPortafolio Steffanie Rosales - Contenido
Portafolio Steffanie Rosales - Contenido
 
Virus Informático Bruno Baameiro CDI.pdf
Virus Informático Bruno Baameiro CDI.pdfVirus Informático Bruno Baameiro CDI.pdf
Virus Informático Bruno Baameiro CDI.pdf
 
Plan de Clase_Aula Invertida infopedagogia
Plan de Clase_Aula Invertida infopedagogiaPlan de Clase_Aula Invertida infopedagogia
Plan de Clase_Aula Invertida infopedagogia
 
CARTA_PUBLICA_JUAN_ORLANDO_FEB_2024 (1).pdf
CARTA_PUBLICA_JUAN_ORLANDO_FEB_2024 (1).pdfCARTA_PUBLICA_JUAN_ORLANDO_FEB_2024 (1).pdf
CARTA_PUBLICA_JUAN_ORLANDO_FEB_2024 (1).pdf
 
Jennifer_Gavilanes_Naranjo_Tarea_4_ Parcial_2
Jennifer_Gavilanes_Naranjo_Tarea_4_ Parcial_2Jennifer_Gavilanes_Naranjo_Tarea_4_ Parcial_2
Jennifer_Gavilanes_Naranjo_Tarea_4_ Parcial_2
 
Temas de FilosofÃ_a-Anexos version DGETi.pdf
Temas de FilosofÃ_a-Anexos version DGETi.pdfTemas de FilosofÃ_a-Anexos version DGETi.pdf
Temas de FilosofÃ_a-Anexos version DGETi.pdf
 
Herramientas tecnológicas para los abogados.pptx
Herramientas tecnológicas para los abogados.pptxHerramientas tecnológicas para los abogados.pptx
Herramientas tecnológicas para los abogados.pptx
 
¿Cómo realizar presentaciones en Google_.pdf
¿Cómo realizar presentaciones en Google_.pdf¿Cómo realizar presentaciones en Google_.pdf
¿Cómo realizar presentaciones en Google_.pdf
 
Las TICS en el ámbito educativo, escolar y laboral
Las TICS en el ámbito educativo, escolar y laboralLas TICS en el ámbito educativo, escolar y laboral
Las TICS en el ámbito educativo, escolar y laboral
 
La celestina Fernando de Rojas aaaaaaaaa
La celestina Fernando de Rojas aaaaaaaaaLa celestina Fernando de Rojas aaaaaaaaa
La celestina Fernando de Rojas aaaaaaaaa
 
COMUNICACIÓN, TRADICIONAL Y PARA LOS MEDIOS DIGITALES
COMUNICACIÓN, TRADICIONAL Y PARA LOS MEDIOS DIGITALESCOMUNICACIÓN, TRADICIONAL Y PARA LOS MEDIOS DIGITALES
COMUNICACIÓN, TRADICIONAL Y PARA LOS MEDIOS DIGITALES
 
Práctica 1. Pasaporte de identificación Info
Práctica 1. Pasaporte de identificación InfoPráctica 1. Pasaporte de identificación Info
Práctica 1. Pasaporte de identificación Info
 
Plan de busqueda_Aula invertida infopedagogia
Plan de busqueda_Aula invertida infopedagogiaPlan de busqueda_Aula invertida infopedagogia
Plan de busqueda_Aula invertida infopedagogia
 
Gavilanes_Naranjo_Jennifer_Tarea_1_Parcial_1
Gavilanes_Naranjo_Jennifer_Tarea_1_Parcial_1Gavilanes_Naranjo_Jennifer_Tarea_1_Parcial_1
Gavilanes_Naranjo_Jennifer_Tarea_1_Parcial_1
 
Carlos Silva - CHECKLIST accesibilidadUNE71362.pdf
Carlos Silva - CHECKLIST accesibilidadUNE71362.pdfCarlos Silva - CHECKLIST accesibilidadUNE71362.pdf
Carlos Silva - CHECKLIST accesibilidadUNE71362.pdf
 
torrescarrera_brittaniyamilet_M1S4P1.pptx
torrescarrera_brittaniyamilet_M1S4P1.pptxtorrescarrera_brittaniyamilet_M1S4P1.pptx
torrescarrera_brittaniyamilet_M1S4P1.pptx
 
Comunidad virtual de aprendizaje en la educacion
Comunidad virtual de aprendizaje en la educacionComunidad virtual de aprendizaje en la educacion
Comunidad virtual de aprendizaje en la educacion
 

Las palmas devops: Pruebas de carga web

  • 1. Ejemplo práctico con Gatling Pruebas de carga web Las Palmas DevOps Jonathan Araña Cruz
  • 2. Jonathan Araña Cruz (aka jonhattan) Sysadmin en la onda DevOps Drupal developer http://atlantic-canary.net http://github.com/jonhattan @_jonhattan_
  • 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. ● Apache Bench - http://httpd.apache.org/docs/2.2/programs/ab.html ● JMeter - http://jmeter.apache.org ● Gatling http://gatling.io ● … Herramientas
  • 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://gitlab.faita.net/jonhattan/gatling-example/commits/master ssh s01.surgery.sbit.io -o "ServerAliveInterval=30" sudo tail -f /var/log/apache2/acme.s01.surgery.sbit.io_access.log | logstalgia - x --paddle-mode vhost - USERS=100 TIME=10 ./bin/gatling.sh
  • 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- 2s06Uwy95T218KRKQUGg/edit#gid=0