Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Gatling : Load Testing like a King
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
今さら理解するウェブフォントver.2026
takanorip
3
790
その Valkey 使いこなしていますか?
onk
PRO
5
1.5k
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
180
しろおびから始める!ログ活用の第一歩
shumei_ito
0
950
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
130
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
300
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
4.9k
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
hackers_champloo_2026_tidb
makocchi
0
160
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Site-Speed That Sticks
csswizardry
13
1.6k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Building the Perfect Custom Keyboard
takai
2
910
Embracing the Ebb and Flow
colly
88
5.2k
Believing is Seeing
oripsolob
1
240
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Rails Girls Zürich Keynote
gr2m
96
14k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
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