tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your...

40
Performance Testing for web-scale

Upload: techtalks

Post on 14-Apr-2017

296 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

PerformanceTesting

for web-scale

Page 2: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

● SA at EPAM Systems

● primary skill is Java

● hands-on-coding with Groovy, Ruby

● exploring FP with Erlang/Elixir

● passionate about agile, clean code and devops

Page 3: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Agenda● Why?● What?● How to..?● Tools● Demo● Summary● References● Q&A

Page 4: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Why... should I Care?..

Page 5: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

http://positionly.com/blog/seo/mobile-search-position-boost

Page 6: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

$1.6B~10 * $150M

Page 7: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

What...is Performance

Testing?

Page 8: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Performance testingis in general testing performed

to determine how a system performs in terms of responsiveness

and stabilityunder a particular workload.

Page 9: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

What...are Key

Characteristics?

Page 10: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Availability

Page 11: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Concurrency

Page 12: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Response Time

Page 13: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Throughput

Page 14: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

How…to Decide when to

Test?

Page 15: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Readiness

Page 16: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Enough Data

Page 17: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Enough Time

Page 18: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Continuously

Page 19: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

How…to Choose what to

Test?

Page 20: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

System Load

Test Duration (mins)

Normal Operation

Max Designed Operation Capacity

Stress Test

Soak Test

Peak Load Test

Spike Test

Types

Page 21: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Consensus

Page 22: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Scenarios

Page 23: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

How…to Execute Test?

Page 24: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Data Volume

Page 25: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Network

Page 26: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Monitoring

Page 27: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Above Limits

Page 28: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Tool Impact

Page 29: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

How…to Collect Results?

Page 30: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Measures

Page 31: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Distributed Log

Page 32: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Tools

Page 33: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

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

Page 34: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

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

Page 35: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Demotime

Page 36: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Takeaways- Do performance testing continuously

- Do performance testing with right amount of data

- Monitor application during performance tests run

- User right measurements (percentiles)

- Choose right tool to load with less impact

- Automate deployment and testing processes

Page 37: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

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

Page 38: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Q&A

Page 39: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

http://epam.com/careers

Page 40: Tech talks annual 2015 izzet mustafayev_performance testing - the way to make a true load for your application

Izzet Mustafayev@EPAM Systems@webdizz webdizz izzetmustafaievhttp://webdizz.name