performance testing for web-scale

Post on 07-Jan-2017

1.180 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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?..

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

Izzet_Mustafayev@EPAM.com @webdizz webdizz izzetmustafaiev http://webdizz.name

Thanks

http://epam.com/careers

top related