-
Notifications
You must be signed in to change notification settings - Fork 210
Home
This framework could be used both for backend load testing with Apache Jmeter and frontend load test with sitespeed.io + webpagetest private instance. Grafana monitoring allows to view and analyze results in real time
Framework consists of next services:
- Grafana: data visualization & monitoring
- Influxdb: time series DB platform for metrics & events(Time Series Data)
- Telegraf: server agent for collecting & reporting metrics
- Sitespeed.io: set of tools for frontend load testing
- Graphite: time series DB platform for metrics
- Jenkins: continuous integration server for tests execution
- Portainer: service for managing docker environment
- Webpagetest: private instance of webpagetest server for frontend tests execution
- Apache Jmeter: tool for backend load testing
To run framework install docker: https://docs.docker.com/engine/installation/.
You should be able to run docker run hello-world
with no errors.
For Windown share drives with docker: https://blogs.msdn.microsoft.com/stevelasker/2016/06/14/configuring-docker-for-windows-volumes/
- git clone this repository
- open performance-testing-framework dir
- docker-compose up -d All containers should be up and running
- jenkins localhost:8181
- grafana localhost:8857
- portainer localhost:9000
- webpagetest server localhost:80
- influxdb localhost:8653
Login to Jenkins with admin/admin(could be changed in docker-compose file) By default jenkins consists of 2 jobs:
- BackendJob: run Jmeter scenarios
- FrontendJob: run tests with sitespeed.io and webpagetest private instance
To run jmeter demo script: Open BackendJob -> Build with Parameters -> Set build parameters -> Select scenario -> Build
This job will start jmeter docker container and execute demo_scenario.jmx jmeter scenario
- jmeter log file
- raw test results in report.log csv file
- jmeter HTML report(available after test is finished)
- grafana load test monitoring dashboard(real-time monitoring)
To run frontend test: Open FrontendJob -> Build with Parameters -> Set build parameters -> Build
This job will start sitespeed.io docker container and run test with parameters using WebPageTest private instance
Frontend test deliverables:
- sitespeed.io HTML report
- grafana load test monitoring dashboard(real-time monitoring)