Load testing with Blitz
-
Upload
lindsay-holmwood -
Category
Technology
-
view
991 -
download
5
description
Transcript of Load testing with Blitz
![Page 1: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/1.jpg)
Load testing
![Page 2: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/2.jpg)
![Page 3: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/3.jpg)
Who is this dude?
![Page 4: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/4.jpg)
Lindsay Holmwood
![Page 5: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/5.jpg)
BULLETPROOF
![Page 6: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/6.jpg)
I Run this thing
![Page 7: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/7.jpg)
Have tried and failed many
times to implement effective
load testing
![Page 8: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/8.jpg)
![Page 9: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/9.jpg)
A story
![Page 10: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/10.jpg)
New project
![Page 11: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/11.jpg)
Replacing a high-
profile website
(new infrastructure,
new application)
![Page 12: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/12.jpg)
1000
concurrent users
![Page 13: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/13.jpg)
“We need 100%
uptime”
![Page 14: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/14.jpg)
Project starts
![Page 15: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/15.jpg)
Requirements
change
![Page 16: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/16.jpg)
Deadlines
aren’t met
![Page 17: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/17.jpg)
Performance testing?
Fuck it!
We’ll do it live!
![Page 18: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/18.jpg)
![Page 19: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/19.jpg)
Performance testing?
“You have one day”
![Page 20: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/20.jpg)
![Page 21: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/21.jpg)
Problem:
![Page 22: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/22.jpg)
Treated as
WAterfall-esque
QA
![Page 23: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/23.jpg)
It’s a
non-functional
requirement
![Page 24: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/24.jpg)
![Page 25: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/25.jpg)
WHYDo we load test?
![Page 26: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/26.jpg)
Capacity
planning
![Page 27: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/27.jpg)
“Can the site deal
with load?”
![Page 28: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/28.jpg)
Defect
detection
![Page 29: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/29.jpg)
“Is this code
going to cripple
the site?”
![Page 30: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/30.jpg)
Optimisation
![Page 31: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/31.jpg)
“What happens if
we change this
Setting?”
![Page 32: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/32.jpg)
Historical
analysis
![Page 33: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/33.jpg)
“Is the site
getting slower?”
![Page 34: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/34.jpg)
Cache warming
![Page 35: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/35.jpg)
“Prepare the
infrastructure
for Failover”
![Page 36: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/36.jpg)
WHYDo we load test?
![Page 37: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/37.jpg)
A combination of
proactive &
Reactive reasons
![Page 38: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/38.jpg)
A combination of
proactive &
Reactive reasons
![Page 39: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/39.jpg)
It’s a
non-functional
requirement
![Page 40: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/40.jpg)
![Page 41: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/41.jpg)
Whydoes load testing
FAIL?
(from a technical perspective)
![Page 42: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/42.jpg)
How
not the
WHAT
![Page 43: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/43.jpg)
TooL fetishism
![Page 44: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/44.jpg)
Get bogged down
in details
![Page 45: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/45.jpg)
how the testing
infrastructure works
![Page 46: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/46.jpg)
Micro
vs
Macro
![Page 47: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/47.jpg)
Business
Does not care
about your tools
![Page 48: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/48.jpg)
Business
cares About:
![Page 49: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/49.jpg)
“Can the site deal
with load?”
![Page 50: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/50.jpg)
![Page 51: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/51.jpg)
Recommendation:
![Page 52: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/52.jpg)
Use tool with
lowest barrier
TO entry
![Page 53: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/53.jpg)
![Page 54: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/54.jpg)
Blitz
![Page 55: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/55.jpg)
Runs on AWS
![Page 56: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/56.jpg)
Web form
![Page 57: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/57.jpg)
Browser pluginsFirefox, Chrome
![Page 58: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/58.jpg)
REST API
![Page 59: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/59.jpg)
API ClientsRuby, Python, Java
Node.JS, Perl
![Page 60: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/60.jpg)
Common
Command Line
![Page 61: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/61.jpg)
Excellent
documentationdocs.blitz.io
![Page 62: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/62.jpg)
Inexpensive250 concurrent users
over 60 second period == free
![Page 63: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/63.jpg)
SPRINTS
&
RUSHES
![Page 64: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/64.jpg)
![Page 65: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/65.jpg)
Let’s dive in!
![Page 66: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/66.jpg)
Sign up @http://blitz.io/
![Page 67: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/67.jpg)
$ gem install blitz$ blitz helpUsage: blitz <command> <options> help - Display this help account:about - Show information about your account api:init - Validate and login with your API key couch:fuzz - Auto generate blitz tests from CouchDB curl - Run a sprint or a rush curl:help - Show help on sprint and rushing traceroute - Run traceroute remotely traceroute:help - Show help on traceroute version - Show the version of this Ruby gem$ blitz api:init # writes credentials to ~/.blitz/credentials
![Page 68: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/68.jpg)
$ blitz curl:help
Usage: blitz curl <options> <url>
--user-agent -A <string> User-Agent to send to server--cookie -b name=<string> Cookie to send to the server (multiple)--data -d <string> Data to send in a PUT or POST request--dump-header -D <file> Print the request/response headers--referer -e <string> Referer URL--help -h Help on command line options--header -H <string> Custom header to pass to server--pattern -p <s>-<e>:<d> Ramp from s to e concurrent requests in d secs--region -r <string> california|oregon|virginia|singapore|ireland|japan--status -s <number> Assert on the HTTP response status code--timeout -T <ms> Wait time for both connect and responses--user -u <user[:pass]> User and password for authentication--request -X <string> Request method to use (GET, HEAD, PUT, etc.)--variable -v <string> Define a variable to use--verbose -V Print the request/response headers--tlsv1 -1 Use TLSv1 (SSL)--sslv2 -2 Use SSLv2 (SSL)--sslv3 -3 Use SSLv3 (SSL)
![Page 69: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/69.jpg)
![Page 70: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/70.jpg)
$ blitz curl --region singapore --pattern 1-250:20 \ --timeout 10000 --verbose http://example.org/
![Page 71: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/71.jpg)
$ blitz curl --region singapore --pattern 1-250:20 \ --timeout 10000 --verbose http://example.org/
user growth / time
![Page 72: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/72.jpg)
$ blitz curl --region singapore --pattern 1-250:20 \ --timeout 10000 --verbose http://example.org/
user growth / timefor AWS lag
![Page 73: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/73.jpg)
rushing from singapore...
Time Users Response Hits Timeouts Errors Hits/s Mbps 2.5s 31 -1.000s 0 0 0 8.3s 103 1.075s 146 0 9 50.53 0.88 11.2s 140 0.406s 376 0 9 79.64 1.41 14.1s 176 0.409s 682 0 9 105.24 1.86 22.8s 0 0.417s 1552 0 9 15.57 0.27
$ blitz curl --region singapore --pattern 1-250:20 \ --timeout 10000 --verbose http://example.org/
user growth / timefor AWS lag
![Page 74: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/74.jpg)
--pattern 1-250:20
![Page 75: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/75.jpg)
--pattern 1-250:20
blitz calculates the growth automatically
![Page 76: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/76.jpg)
Sawtooth--pattern 1-250:20,1-250:20,1-250:20
![Page 77: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/77.jpg)
TV AD / Twittersplosion--pattern 200-5000:30,5000-400:60
![Page 78: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/78.jpg)
![Page 79: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/79.jpg)
Integrate
with your
development cycle
![Page 80: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/80.jpg)
VCS
CI
Deploy automation
![Page 81: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/81.jpg)
VCS
CI
Deploy automation
![Page 82: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/82.jpg)
git
post-receive hook
![Page 83: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/83.jpg)
GitHub web hooks
![Page 84: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/84.jpg)
Doesn’t take into
account test
failures
![Page 85: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/85.jpg)
Is the code
actually
deployed?
![Page 86: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/86.jpg)
![Page 87: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/87.jpg)
VCS
CI
Deploy automation
![Page 88: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/88.jpg)
CRON JOB
![Page 89: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/89.jpg)
JENKINS JOB
![Page 90: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/90.jpg)
GREAT if you have
a CI system
![Page 91: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/91.jpg)
Runs tests
but
Separate system
![Page 92: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/92.jpg)
What if you’re making
infrastructure changes
during a load test?
![Page 93: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/93.jpg)
![Page 94: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/94.jpg)
VCS
CI
Deploy automation
![Page 95: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/95.jpg)
Fabric
![Page 96: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/96.jpg)
Capistrano
![Page 97: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/97.jpg)
Run tests when
you deploy
![Page 98: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/98.jpg)
Use the same
toolchain
![Page 99: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/99.jpg)
Testing lives IN the app.
![Page 100: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/100.jpg)
What about triggering
load tests on
infrastructure
changes?
![Page 101: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/101.jpg)
MVP
![Page 102: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/102.jpg)
Just get
something
working!
![Page 103: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/103.jpg)
![Page 104: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/104.jpg)
Problem:
![Page 105: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/105.jpg)
No REporting
:-(
![Page 106: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/106.jpg)
rushing from singapore...
Time Users Response Hits Timeouts Errors Hits/s Mbps 2.5s 31 -1.000s 0 0 0 8.3s 103 1.075s 146 0 9 50.53 0.88 11.2s 140 0.406s 376 0 9 79.64 1.41 14.1s 176 0.409s 682 0 9 105.24 1.86 22.8s 0 0.417s 1552 0 9 15.57 0.27
THIS IS IT
![Page 107: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/107.jpg)
SOL ON:
![Page 108: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/108.jpg)
Optimisation
![Page 109: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/109.jpg)
“What happens if
we change this
Setting?”
![Page 110: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/110.jpg)
Historical
analysis
![Page 111: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/111.jpg)
“Is the site
getting slower?”
![Page 112: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/112.jpg)
Showstopper?
![Page 113: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/113.jpg)
...
![Page 114: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/114.jpg)
$ gem install blitz
# ...
rushing from singapore...
Time Users Response Hits Timeouts Errors Hits/s Mbps 2.5s 31 -1.000s 0 0 0 8.3s 103 1.075s 146 0 9 50.53 0.88 11.2s 140 0.406s 376 0 9 79.64 1.41 14.1s 176 0.409s 682 0 9 105.24 1.86 22.8s 0 0.417s 1552 0 9 15.57 0.27
![Page 115: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/115.jpg)
Can we duck
punch our way
to success?
![Page 116: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/116.jpg)
![Page 117: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/117.jpg)
#!/usr/bin/env ruby# load_test.rb
require 'blitz'
arguments = "--region singapore --pattern 1:250:60"url = "http://example.org/"command = "#{arguments} #{url}"
job = Blitz::Curl.parse(command)curl = Blitz::Command::Curl.newcurl.rush(job)
![Page 118: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/118.jpg)
# ruby load_test.rb
rushing from singapore...
Time Users Response Hits Timeouts Errors Hits/s Mbps 2.5s 31 -1.000s 0 0 0 8.3s 103 1.075s 146 0 9 50.53 0.88 11.2s 140 0.406s 376 0 9 79.64 1.41 14.1s 176 0.409s 682 0 9 105.24 1.86 22.8s 0 0.417s 1552 0 9 15.57 0.27
![Page 119: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/119.jpg)
#!/usr/bin/env ruby# load_test.rb
require 'blitz'
arguments = "--region singapore --pattern 1:250:60"url = "http://example.org/"command = "#{arguments} #{url}"
job = Blitz::Curl.parse(command)curl = Blitz::Command::Curl.newcurl.rush(job)
![Page 120: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/120.jpg)
#!/usr/bin/env ruby# load_test.rb
require 'blitz'
arguments = "--region singapore --pattern 1:250:60"url = "http://example.org/"command = "#{arguments} #{url}"
job = Blitz::Curl.parse(command)curl = Blitz::Command::Curl.newcurl.rush(job)
![Page 121: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/121.jpg)
Blitz::Curl.parse(command)
returns
Blitz::Curl::Rush
![Page 122: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/122.jpg)
#!/usr/bin/env ruby# load_test.rb
require 'blitz'
arguments = "--region singapore --pattern 1:250:60"url = "http://example.org/"command = "#{arguments} #{url}"
job = Blitz::Curl.parse(command)curl = Blitz::Command::Curl.newcurl.rush(job)
![Page 123: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/123.jpg)
Blitz::Command::Curl#rush
![Page 124: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/124.jpg)
Blitz::Command::Curl#rush
initiates the test + outputs the test results
![Page 125: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/125.jpg)
#!/usr/bin/env ruby# load_test.rb
require 'blitz'
arguments = "--region singapore --pattern 1:250:60"url = "http://example.org/"command = "#{arguments} #{url}"
job = Blitz::Curl.parse(command)curl = Blitz::Command::Curl.newcurl.rush(job)
puts job.result.timeline.to_json
![Page 126: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/126.jpg)
Produces muck
![Page 127: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/127.jpg)
duck punch our
way to success
![Page 128: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/128.jpg)
class Blitz::Curl::Rush class Point def to_json(*args) { 'timestamp' => @timestamp, 'duration' => @duration, 'total' => @total, 'hits' => @hits, 'errors' => @errors, 'timeouts' => @timeouts, 'volume' => @volume, 'txbytes' => @txbytes, 'rxbytes' => @rxbytes, 'steps' => @steps, }.to_json end end
# ...
![Page 129: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/129.jpg)
# ...
class Step def to_json(*args) { 'duration' => @duration, 'connect' => @connect, 'errors' => @errors, 'timeouts' => @timeouts, 'asserts' => @asserts, }.to_json end endend
![Page 130: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/130.jpg)
#!/usr/bin/env ruby# load_test.rb
require 'blitz'
arguments = "--region singapore --pattern 1:250:60"url = "http://example.org/"command = "#{arguments} #{url}"
job = Blitz::Curl.parse(command)curl = Blitz::Command::Curl.newcurl.rush(job)
puts job.result.timeline.to_json
![Page 131: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/131.jpg)
{"start":1335694346,"finish":1335694367,"results":[{"timestamp":2.502626,"duration":1.13912,"total":1,"hits":1,"errors":0,"timeouts":0,"volume":2,"txbytes":258.0,"rxbytes":17810.0,"steps":[{"duration":2.13912,"connect":0.260004,"errors":0,"timeouts":0,"asserts":0}]},{"timestamp":5.016102,"duration":0.640047,"total":5,"hits":5,"errors":0,"timeouts":0,"volume":4,"txbytes":1548.0,"rxbytes":90882.0,"steps":[{"duration":1.640047,"connect":0.158944,"errors":0,"timeouts":0,"asserts":0}]},{"timestamp":7.524594,"duration":0.639987,"total":10,"hits":10,"errors":0,"timeouts":0,"volume":5,"txbytes":3354.0,"rxbytes":182222.0,"steps":[{"duration":1.639987,"connect":0.158999,"errors":0,"timeouts":0,"asserts":0}]},{"timestamp":10.03388,"duration":0.63961,"total":20,"hits":20,"errors":0,"timeouts":0,"volume":7,"txbytes":5418.0,"rxbytes":364902.0,"steps":[{"duration":1.63961,"connect":0.158847,"errors":0,"timeouts":0,"asserts":0}]},{"timestamp":12.543211,"duration":0.640421,"total":31,"hits":31,"errors":0,"timeouts":0,"volume":9,"txbytes":9030.0,"rxbytes":565850.0,"steps":[{"duration":1.640422,"connect":0.158767,"errors":0,"timeouts":0,"asserts":0}]},{"timestamp":15.051705,"duration":0.639894,"total":44,"hits":44,"errors":0,"timeouts":0,"volume":10,"txbytes":12384.0,"rxbytes":803334.0,"steps":[{"duration":1.639894,"connect":0.158794,"errors":0,"timeouts":0,"asserts":0}]},{"timestamp":17.560136,"duration":-1.0,"total":44,"hits":44,"errors":0,"timeouts":0,"volume":0,"txbytes":12384.0,"rxbytes":803334.0,"steps":[{"duration":0.0,"connect":0.0,"errors":0,"timeouts":0,"asserts":0}]}]}
![Page 132: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/132.jpg)
Do with as
you please
![Page 133: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/133.jpg)
Here’s one I
prepared earlier...
![Page 134: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/134.jpg)
![Page 135: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/135.jpg)
...
![Page 136: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/136.jpg)
You don’t have to
set up a tool
![Page 137: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/137.jpg)
But you have to
write reporting?
![Page 138: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/138.jpg)
At least you
have load
testing?
![Page 139: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/139.jpg)
It’s on the way...
![Page 140: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/140.jpg)
http://support.blitz.io/discussions/questions/114-sharing-reports
![Page 141: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/141.jpg)
![Page 142: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/142.jpg)
Where to
from here?
![Page 143: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/143.jpg)
Pull in data from
other places
![Page 144: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/144.jpg)
new relic
Ganglia/collectd
Git commits
![Page 145: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/145.jpg)
Github:
square/crossfilter
![Page 146: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/146.jpg)
![Page 147: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/147.jpg)
Don’t like Blitz?
![Page 148: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/148.jpg)
SaaS
Load impact
Browser mob
![Page 149: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/149.jpg)
Open Source
Tsung
JMeter
![Page 150: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/150.jpg)
![Page 151: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/151.jpg)
Start Using
something!
![Page 152: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/152.jpg)
Low barrier of
entry is key
![Page 153: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/153.jpg)
Integrate with your
existing dev tools
![Page 154: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/154.jpg)
![Page 155: Load testing with Blitz](https://reader031.fdocuments.us/reader031/viewer/2022020101/554f42acb4c90572088b53f1/html5/thumbnails/155.jpg)
Questions?