Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Bring your website down with Gatling
Search
Kunal Dabir
November 15, 2014
Programming
0
120
Bring your website down with Gatling
Presentation from Vodqa workshop, Pune 2014
Kunal Dabir
November 15, 2014
Tweet
Share
More Decks by Kunal Dabir
See All by Kunal Dabir
Demystifying Gradle DSL
kdabir
0
510
Other Decks in Programming
See All in Programming
Quine, Polyglot, 良いコード
qnighy
4
650
@nifty天気予報:フルリニューアルの挑戦 - NIFTY Tech Talk #22
niftycorp
PRO
0
110
C++でシェーダを書く
fadis
6
4.2k
React への依存を最小にするフロントエンド設計
takonda
20
7.2k
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
270
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
130
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
2.2k
WebAssembly Unleashed: Powering Server-Side Applications
chrisft25
0
1.4k
Vapor Revolution
kazupon
2
1.8k
React CompilerとFine Grained Reactivityと宣言的UIのこれから / The next chapter of declarative UI
ssssota
7
2k
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
「天気予報があなたに届けられるまで」 - NIFTY Tech Talk #22
niftycorp
PRO
0
110
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building an army of robots
kneath
302
43k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Being A Developer After 40
akosma
87
590k
What's new in Ruby 2.0
geeforr
343
31k
Thoughts on Productivity
jonyablonski
67
4.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Transcript
Bring your website down with Gatling 1 / 22
Not quite literally :) 2 / 22
Why would we want to do that? 3 / 22
To Test Production-Readiness Can we meet SLA? Are we meeting
required throughput? like request/rec Will app sustain the normal & peak loads 4 / 22
Benchmarking CPU utilization Memory utilization Network bandwidth usage 5 /
22
Finding Performance Issues Like memory leaks Index missing (in DB)
Caching issues 6 / 22
Capacity Planning How many servers would I need What will
be configuration 7 / 22
Types Load testing Stress testing Spike testing Endurance/Soak and many
more... 8 / 22
Server-side performance vs Client-side performance 9 / 22
Client Side Performance DOM rendering time Network issues / latency
JavaScript execution time CSS/JS compression/optimiaztion Image optimization 10 / 22
Tools YSlow Google PageSpeed 11 / 22
Server Side Performance Resource consumption Throughput and a lot more...
12 / 22
What are the options? 13 / 22
Command Line Utilities Shell script with curl/wget fighting a battle
with needle Apache bench good for very simple use cases Seige bit more sophisticated than AB but not full blown 14 / 22
More Programmable Solutions Locust python JMeter java but more gui
centric Gatling JVM with scala DSL 15 / 22
User Journeys Tool should be able to emulate real users
with realistic load Example: 1. I login, 2. I browse for an item 3. I add it to my cart 4. I proceed to checkout 5. I pay 6. I logout 16 / 22
Scenarios User regestration will happens less frequently than order checkout
Should test accordingly With desired load pattern 17 / 22
Complexities Sessions Cookies user journeys reporting/insights into key metrices 18
/ 22
Metrices Requests request/sec distribution of urls Response time 90%ile, 95%ile
avg/mean min/max Result failed vs passed vs timed out status codes Users active sessions 19 / 22
Demo Clone the gatling-stater project 20 / 22
Thank You @kdabir github.com/kdabir 21 / 22
References http://msdn.microsoft.com/en-us/library/bb924356.aspx https://github.com/kdabir/gatling-starter http://gatling.io 22 / 22