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
Gatling : Load Testing like a King
Search
mestachs
May 09, 2014
Technology
19k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gatling : Load Testing like a King
Gatling and rails app
mestachs
May 09, 2014
More Decks by mestachs
See All by mestachs
Ansible - Tighten your quality feedback loop
mestachs
1
21k
Betatech - Security for Dummies
mestachs
2
14k
techtalks-001-how-do-you-puppet
mestachs
1
190
How do you Puppet ?
mestachs
3
17k
Other Decks in Technology
See All in Technology
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
240
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
280
[RSJ26] AnoleVLA: Lightweight Vision-Language-Action Model with Deep State Space Models for Mobile Manipulation
keio_smilab
PRO
0
100
Does an AI Watermark Survive Translation?
machinetranslation
0
520
Point Cloud as a Foreign Language for Multi-modal Large Language Model
takmin
0
360
【Oracle AI Spotlight ウェビナー】AWSか、Azureか、Google Cloudか。その議論にオラクルを含める意義。
oracle4engineer
PRO
1
190
書籍『生成AIの安全性入門』の入門
wataoka
0
150
Genie Code ワークショップ 応用編 / Genie-Code-Workshop-advanced
databricksjapan
PRO
0
250
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
17
17k
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
25k
VPCでもFloatingIPを使いたいんだ
y_kotani
1
140
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Statistics for Hackers
jakevdp
799
230k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Paper Plane
katiecoart
PRO
2
53k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
My Coaching Mixtape
mlcsv
0
300
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
320
Balancing Empowerment & Direction
lara
6
1.3k
30 Presentation Tips
portentint
PRO
1
380
Transcript
Load Testing like a
None
irb(main):017:0> gatling.load_test(rails_app) TypeError: can't convert Scala into Ruby from (irb):16:in
`load_test' from (irb):16 from bin/irb:12:in `<main>'
a DSL emulates real user behaviour val scn = scenario("Login")
.exec(http("My website") .get("/login") .headers(headers_1) .check( regex("""<meta content="(.*?)"name="csrf-token">""") .saveAs("auth_token")) .exec(http("Login") .post("/login") .headers(headers_5) .param("csrf-token", "${auth_token}") .param("username", "xxxx"))
None
Scalable Engine : Not a thread per user Actor based
concurrency Java 7 Asynchronous Good GC NIO framework
Executive summary
Average & StdDev : never again ! average of 1.2
seconds and standard deviation of 0.6 seconds
Average & StdDev : never again ! average of 1.2
seconds and standard deviation of 0.6 seconds Unhappy users are here
None
None
Gatling as a service
Root cause analysis
Need more data Infrastructure monitoring CloudWatch, collectd.org,... profiling/instrumentation/sampling in your
code or through agent à la NewRelic, home made with statsd,...
Query missing indexes select * from db select n+1 deadlock,
missing/bad cache Resource limits process / thread / connections pool garbage collection / network resource leak / cpu starvation Latency network external api rate limit isolate services
Opensource Nice DSL to emulates real user behaviour Scalable engine
Great reports/metrics by default C I - able Available “As a Service”
More on the subject https://flood.io/blog/13-stress-testing-jmeter-and-gatling https://flood.io/blog/14-getting-started-with-gatling https://flood.io/blog/27-socket-io-and-websockets-with-gatling http://mestachs.wordpress.com/2012/03/31/performance-when-average-is-not-enough/ http://gatling-tool.org/cheat-sheet/ http://maxdemarzi.com/2013/02/14/neo4j-and-gatling-sitting-in-a-tree-performance-t-e-s-t-ing/
http://laurent.bristiel.com/getting-started-with-gatling-for-stress-test/ https://github.com/maxdemarzi/neo_permissions/blob/master/performance/src/test/resources/simulations/RandomPermissions.scala#L18 https://github.com/excilys/gatling-hands-on/blob/master/gatling-hands-on-demo/src/test/scala/computerdatabase/Step10.scala https://wiki.jenkins-ci.org/display/JENKINS/Gatling+Plugin http://puppetlabs.com/blog/puppet-gatling-and-jenkins-together http://briancain.herokuapp.com/projects/puppetgatling http://blog.newrelic.com/2013/01/22/understanding-new-relic-queuing/ http://www.webperformance.com/library/tutorials/CalculateNumberOfLoadtestUsers/ http://www.slideshare.net/ZeroTurnaround/stephane-landelleblastyourappwithgatling https://twitter.com/GatlingTool http://blog.roddet.com/2013/06/gatling2-new-inject-api/
More on the subject http://jsebfranck.blogspot.be/2013/09/gatling-dynamic-parameters-example.html http://www.igvita.com/2014/03/26/why-is-my-cdn-slow-for-mobile-clients/ http://i.imgur.com/k0t1e.png http://www.eecs.berkeley.edu/~rcs/research/interactive_latency.html