Upload
izzet-mustafaiev
View
1.180
Download
0
Embed Size (px)
Citation preview
Performance Testing
for web-scale
● happy father
● SA in EPAM Systems
● Java is my primary language
● hands-on-coding with Groovy, Ruby
● exploring FP with Erlang/Elixir
● passionate about agile, clean code and devops
Agenda● Why?● What?● How to..?● Tools● Demo● Summary● References● Q&A
Why... should I Care?..
http://positionly.com/blog/seo/mobile-search-position-boost
Loss of $1.6b~25 * $62m
What...is Performance
Testing?
Performance testing is in general testing performed
to determine how a system performs in terms of responsiveness
and stability under a particular workload.
What...are Key
Characteristics?
Availability
Concurrency
Response Time
Throughput
Capacity
How… to Decide when to
Test?
Readiness
Enough Time
Continuously
How… to Choose what to
Test?
System Load (#users|requests)
Test Duration (mins)
Normal Operation
Max Designed Operation Capacity
Stress Test
Soak Test
Peak Load TestSpike Test
Types
Consensus
Scenarios
How… to Execute Test?
Data Volume
Network
Monitoring
Above Limits
Tool Impact
How… to Collect Results?
Measurements
Distributed Nature
Performance Testing Tools
Many..- Iago http://twitter.github.io/iago/index.html
- Tsung https://www.process-one.net/en/tsung/
- Locust http://locust.io/
- Zopkio https://github.com/linkedin/Zopkio
Gatling http://gatling.io/
- load testing framework based on Scala, Akka and Netty
- provides DSL along with UI for recording
- beautiful reports with right measurements
- easy for distributed load
- real-time monitoring
Demo
Takeaways- Do performance testing continuously
- Do performance testing with right amount of data
- Monitor your infra during performance tests run
- Use right measurements (percentiles)
- Choose right tool to load with less impact
- Automate deployment and testing processes
References- The Art of App Performance Testing http://goo.gl/CEgfSQ
- Performance Testing Crash Course https://goo.gl/jDDcP4
- InfluxDB https://influxdb.com/
- Grafana http://grafana.org/
- Docker Compose https://docs.docker.com/compose/
- Sources https://github.com/webdizz/web-scale-perf-testing
Q&A
http://epam.com/careers