jagger: Сервер непрерывного тестирования...

17
Scalable eCommerce Platform Solutions Jagger: Continuous Performance Testing of Mission-Critical Applications Ilya Katsov, Grid Dynamics

Upload: sqalab

Post on 18-Nov-2014

868 views

Category:

Technology


4 download

DESCRIPTION

Доклад Ильи Кацова, SQA Days-13, 26-27 апреля 2013, www.sqadays.com

TRANSCRIPT

Page 1: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

Jagger: Continuous Performance Testing of Mission-Critical Applications

Ilya Katsov, Grid Dynamics

Page 2: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 2

Performance Testing

Tool

System Under

Test

Report

What’s wrong?

Page 3: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 3

What we do• Develop backend services for 3 of Top-30 US Retailers• Production clusters of 40 nodes and more• Load up to 50K TPS• Heavy computations

in navigational queries:

Page 4: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 4

Antipatterns of Performance Testing • Acceptance performance testing• Independent functional and performance testing• Poor tracking of testing results• Insufficient introspection of the system under test• Failover is tested in production

Page 5: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 5

Performance Testing

Tool

System Under

Test

Report

What’s wrong?

Page 6: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 6

Performance Testing Ecosystem

Development Environment

Performance Environment

QA Environment

Production Environment

Functional

Tests

Profiling Performance Tests

Monitoring

Release Manager

Performance Test Lead

Performance Architect

Technical Lead

Page 7: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 7

Slave Slave Slave SlaveSlave

Master

SuT

SuT

Agent

SuT

SuT

Agent

SuT

SuT

Agent

SuT

SuT

Agent

SuT

SuT

Agent

SuT

SuT

Agent

SuT

SuT

Agent

Jagger Technical Architecture Web UI

HDFS

MySQLZookeeper

Page 8: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 8

Lessons learned: Automate. Automate to scale.• Completely automated flows• Jenkins plugin for automatic deployment• Results warehousing in the database

Page 9: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 9

Lessons learned: Automate. Automate to scale.• Decision makers that can access all collected data• Session comparison• VCS-friendly configuration in plain text files

Page 10: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 10

Lessons learned: Monitoring is everything.• OS-level and JVM-level metrics• Ability to load external metrics• All metrics can be involved into automatic decision

making• Jagger can be used to monitor an external process:

ActivityJagger AgentJagger Cluster

CI Server

Page 11: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 11

Lessons learned: Profile system under test• Performance issues investigation – a typical flow:

Problem ResolvedFix Performance Testing

Performance Problem Detected

Page 12: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 12

Lessons learned: Profile system under test• Sampling profiler for JVM (stacktraces via JMX)• Profiler contains intelligence to detect hot spots

Performance Problem Detected Problem ResolvedFix

Profiling results

Performance Testing

Page 13: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 13

Lessons learned: Validate responses • Custom validators• Record results of single-user test and use for validation

Page 14: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 14

Lessons learned: Manage your data well.• Statistics from one of our accounts:• About 100 test cases• 20 scheduled test sessions weekly + ad hoc testing • 30GB of test results, more than 1500 retained sessions

Page 15: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 15

Lessons learned: Manage your data well.• Reports - PDF and web UI

Page 16: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 16

Results and Roadmap

Successful:• Continuous testing• Monitoring• Validation• Data management

Not very successful:• Continuous robustness

testing• Integration with production

monitoring

Page 17: Jagger: Сервер непрерывного тестирования производительности

Scalable eCommerce Platform Solutions

04/08/2023 17

[email protected] Us

https://jagger.griddynamics.netDistribution and Documentation