SlideShare a Scribd company logo
Performance testing of
microservices
IN ACTION
Alexander Kachur
Lead QA Automation Engineer
at Waverley Software

alexander.kachur[at]gmail.com
Julien Dupre
1. Consideration points on picking load generator
2. How to use CPU flame graph to identify bottleneck
3. Issues with the Cloud and Docker
4. How to use perf to figure out what happened
5. Links
Take Aways
Performance testing of microservices in Action
Performance testing of microservices in Action
Performance testing of microservices in Action
Containers
Performance testing of microservices in Action
Simple Queueing Model
Service
center
Response
time
Input
Output
Queue
Performance testing of microservices in Action
Performance testing of microservices in Action
Performance testing of microservices in Action
P is for Profiling
Service Map
Jeremy Cook
Performance testing of microservices in Action
Performance testing of microservices in Action
Reporting
Reporting
Performance testing of microservices in Action
Performance testing of microservices in Action
Performance testing of microservices in Action
Round 1
Round 1
Flame Graphs
main()
create()find()
query() init() print()
main()
find()
main()
init()
create()
main()
create()
query() print()
Flame Graphs
Flame Graphs
Round 1
DNS
Round 2
Round 2
Flame Graphs
Flame Graphs
Flame Graphs
Round 2
TTY stdout
Round 3
Round 3
Flame Graphs
Flame Graphs
Flame Graphs
Round 3
keep-alive
Final Round
Final Round
Flame Graphs with Docker
0. [sudo sysctl kernel.perf_event_paranoid=0]
1. perf record -F 99 -g -p ${PID}
2. docker exec -it ${container_ID} top
3. docker exec ${container_ID} cat /tmp/perf-${internal_PID}.map > /tmp/perf-
${PID}.map
4. perf script -f > out.perf
5. ./FlameGraph/stackcollapse-perf.pl out.perf > out.folded
6. ./FlameGraph/flamegraph.pl --hash out.folded > out.svg
Flame Graphs with Docker
0. [sudo sysctl kernel.perf_event_paranoid=0]
1. perf record -F 99 -g -p ${PID}
2. docker exec -it ${container_ID} top
3. docker exec ${container_ID} cat /tmp/perf-${internal_PID}.map > /tmp/perf-
${PID}.map
4. perf script -f > out.perf
5. ./FlameGraph/stackcollapse-perf.pl out.perf > out.folded
6. ./FlameGraph/flamegraph.pl --hash out.folded > out.svg
Flame Graphs with Docker
0. [sudo sysctl kernel.perf_event_paranoid=0]
1. perf record -F 99 -g -p ${PID}
2. docker exec -it ${container_ID} top
3. docker exec ${container_ID} cat /tmp/perf-${internal_PID}.map > /tmp/perf-
${PID}.map
4. perf script -f > out.perf
5. ./FlameGraph/stackcollapse-perf.pl out.perf > out.folded
6. ./FlameGraph/flamegraph.pl --hash out.folded > out.svg
Flame Graphs with Docker
0. [sudo sysctl kernel.perf_event_paranoid=0]
1. perf record -F 99 -g -p ${PID}
2. docker exec -it ${container_ID} top
3. docker exec ${container_ID} cat /tmp/perf-${internal_PID}.map > /tmp/perf-$
{PID}.map
OR
4. perf script | perl ./FlameGraph/stackcollapse-perf.pl |gzip | curl --data-binary
@- -H "Content-Tye: gzip" -H "Accept-Encoding: gzip" flamegraph-
generator.herokuapp.com/api/generate
https://github.com/olka/flamegraph-generator
RPC problem
RPC solutions
Performance in the Cloud
Performance in the Cloud
Performance in the Cloud
Drill Down
Drill Down
Drill Down
Drill Down
Drill Down
Conclusion
1. Why?
2. Why?
3. Why?
4. Why?
5. Why?
Gurus
Brendan Gregg - brendangregg.com | FlameGraph
Baron Schwartz - xaprb.com
Rob Harrop - robharrop.github.io
Neil J. Gunther - perfdynamics.com/Manifesto/USLscalability.html
Aleksey Shipilëv- shipilev.net
Sasha Goldshtein - blog.sashag.net
Nitsan Wakart - psy-lob-saw.blogspot.co.il
Aleksey Lavrenyuk - events.yandex.ru/lib/people/302066
Vladimir Sitnikov- lektorium.tv/speaker/27401
Performance testing of microservices in Action

More Related Content

What's hot (20)

PDF
R and cpp
Romain Francois
 
PDF
JavaScript Event Loop
Derek Willian Stavis
 
PDF
Building a DSL with GraalVM (VoxxedDays Luxembourg)
Maarten Mulders
 
PDF
Reversible Logic Synthesis and RevKit
Mathias Soeken
 
PDF
Basicsof c make and git for a hello qt application
Dinesh Manajipet
 
PDF
Ntp cheat sheet
csystemltd
 
PDF
Concurrency in Python4k
Rodolfo Carvalho
 
PDF
Scaling FastAGI Applications with Go
Digium
 
PPTX
Cyclone + Eventsource (realtime push-сообщения)
MoscowDjango
 
PDF
[OpenInfra Days Korea 2018] (Track 4) - Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
OpenStack Korea Community
 
PDF
Cypher for Gremlin
openCypher
 
PPTX
Using Grafana with InfluxDB 2.0 and Flux Lang by Jacob Lisi
InfluxData
 
RTF
Sorter
Thomas Knudstrup
 
ODP
libpcap
mohan43u
 
ODP
ocelot
sean chen
 
PDF
Building a DSL with GraalVM (CodeOne)
Maarten Mulders
 
DOCX
Lab loop
Manode Boonpeng
 
DOCX
Exercice.docx
imane26
 
PPTX
Streams for the Web
Domenic Denicola
 
R and cpp
Romain Francois
 
JavaScript Event Loop
Derek Willian Stavis
 
Building a DSL with GraalVM (VoxxedDays Luxembourg)
Maarten Mulders
 
Reversible Logic Synthesis and RevKit
Mathias Soeken
 
Basicsof c make and git for a hello qt application
Dinesh Manajipet
 
Ntp cheat sheet
csystemltd
 
Concurrency in Python4k
Rodolfo Carvalho
 
Scaling FastAGI Applications with Go
Digium
 
Cyclone + Eventsource (realtime push-сообщения)
MoscowDjango
 
[OpenInfra Days Korea 2018] (Track 4) - Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
OpenStack Korea Community
 
Cypher for Gremlin
openCypher
 
Using Grafana with InfluxDB 2.0 and Flux Lang by Jacob Lisi
InfluxData
 
libpcap
mohan43u
 
ocelot
sean chen
 
Building a DSL with GraalVM (CodeOne)
Maarten Mulders
 
Lab loop
Manode Boonpeng
 
Exercice.docx
imane26
 
Streams for the Web
Domenic Denicola
 

Similar to Performance testing of microservices in Action (20)

PDF
Flame Graphs for MySQL DBAs - FOSDEM 2022 MySQL Devroom
Valeriy Kravchuk
 
PPTX
Cpu analysis with flamegraphs
Vinicius M Grippa
 
PDF
Quantifying Container Runtime Performance: OSCON 2017 Open Container Day
Phil Estes
 
PDF
Linux BPF Superpowers
Brendan Gregg
 
PDF
Linux Profiling at Netflix
Brendan Gregg
 
PDF
JavaOne 2015 Java Mixed-Mode Flame Graphs
Brendan Gregg
 
PDF
Performance Profiling in Rust
InfluxData
 
PDF
FreeBSD 2014 Flame Graphs
Brendan Gregg
 
POTX
Performance Tuning EC2 Instances
Brendan Gregg
 
ODP
Continuous Security
Sysdig
 
PDF
Profiling your Applications using the Linux Perf Tools
emBO_Conference
 
PPTX
re:Invent CON320 Tracing and Debugging for Containerized Services
Calvin French-Owen
 
PDF
Container Performance Analysis Brendan Gregg, Netflix
Docker, Inc.
 
PDF
Monitorama 2015 Netflix Instance Analysis
Brendan Gregg
 
PDF
Make Your Containers Faster: Linux Container Performance Tools
Kernel TLV
 
PDF
Be a better developer with Docker (revision 3)
Nicola Paolucci
 
PDF
Container Performance Analysis
Brendan Gregg
 
PDF
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Brendan Gregg
 
PDF
bcc/BPF tools - Strategy, current tools, future challenges
IO Visor Project
 
PDF
BPF Tools 2017
Brendan Gregg
 
Flame Graphs for MySQL DBAs - FOSDEM 2022 MySQL Devroom
Valeriy Kravchuk
 
Cpu analysis with flamegraphs
Vinicius M Grippa
 
Quantifying Container Runtime Performance: OSCON 2017 Open Container Day
Phil Estes
 
Linux BPF Superpowers
Brendan Gregg
 
Linux Profiling at Netflix
Brendan Gregg
 
JavaOne 2015 Java Mixed-Mode Flame Graphs
Brendan Gregg
 
Performance Profiling in Rust
InfluxData
 
FreeBSD 2014 Flame Graphs
Brendan Gregg
 
Performance Tuning EC2 Instances
Brendan Gregg
 
Continuous Security
Sysdig
 
Profiling your Applications using the Linux Perf Tools
emBO_Conference
 
re:Invent CON320 Tracing and Debugging for Containerized Services
Calvin French-Owen
 
Container Performance Analysis Brendan Gregg, Netflix
Docker, Inc.
 
Monitorama 2015 Netflix Instance Analysis
Brendan Gregg
 
Make Your Containers Faster: Linux Container Performance Tools
Kernel TLV
 
Be a better developer with Docker (revision 3)
Nicola Paolucci
 
Container Performance Analysis
Brendan Gregg
 
Linux 4.x Tracing: Performance Analysis with bcc/BPF
Brendan Gregg
 
bcc/BPF tools - Strategy, current tools, future challenges
IO Visor Project
 
BPF Tools 2017
Brendan Gregg
 
Ad

Recently uploaded (20)

PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
Ad

Performance testing of microservices in Action