Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/benjamintanweihao/blitzy
A simple HTTP load tester in Elixir
https://github.com/benjamintanweihao/blitzy
Last synced: 3 months ago
JSON representation
A simple HTTP load tester in Elixir
- Host: GitHub
- URL: https://github.com/benjamintanweihao/blitzy
- Owner: benjamintanweihao
- Created: 2014-11-10T03:22:08.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2017-07-26T11:03:14.000Z (over 7 years ago)
- Last Synced: 2024-08-02T02:13:28.826Z (6 months ago)
- Language: Elixir
- Size: 12.1 MB
- Stars: 84
- Watchers: 2
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- freaking_awesome_elixir - Elixir - A simple HTTP load tester in Elixir. (Testing)
- fucking-awesome-elixir - blitzy - A simple HTTP load tester in Elixir. (Testing)
- awesome-elixir - blitzy - A simple HTTP load tester in Elixir. (Testing)
README
Blitzy - A simple HTTP load tester in Elixir
============================================![](http://i.imgur.com/Z8zyXZu.gif)
Inspired by this [post](http://www.watchsumo.com/posts/introduction-to-elixir-v1-0-0-by-example-i) by Victor Martinez of WatchSumo.
```
% ./blitzy -n 100 http://www.bieberfever.com
```## Distributed Blitzy
It is _way_ more fun to start distributed. Edit the provided `config/config.exs` with whatever node name suits your fancy. This is optional, and you can stick to the provided one.
```elixir
config :blitz, master_node: :"[email protected]"config :blitz, slave_nodes: [:"[email protected]",
:"[email protected]",
:"[email protected]"]
```Here, the master node is `:[email protected]`; the rest are slave nodes.
Start up a couple of nodes, and name them accordingly. For example, here's how to start one of them:
```
% iex --name [email protected] -S mix
```Now, when you run the the command
```
% ./blitzy -n 100 http://www.bieberfever.com
```the requests will be split across the number of nodes you created, including the master node. Here's an example run:
```
17:03:30.600 [info] worker [[email protected]] completed in 5451.854 msecs17:03:30.600 [info] worker [[email protected]] completed in 5258.639999999999 msecs
17:03:30.600 [info] worker [[email protected]] completed in 5272.281 msecs
17:03:30.600 [info] worker [[email protected]] completed in 5452.012 msecs
17:03:30.600 [info] worker [[email protected]] completed in 5258.318 msecs
17:03:30.600 [info] worker [[email protected]] completed in 5300.413 msecs
...
17:03:31.023 [info] worker [[email protected]] completed in 5653.303 msecs
Succeeded : 50
Failures : 0
Total time (msecs): 542665.9879999999
Avg time (msecs): 1629.627591591591217:03:31.024 [info] worker [[email protected]] completed in 5609.749 msecs
Succeeded : 50
Failures : 0
Total time (msecs): 485414.8010000001
Avg time (msecs): 1457.7021051051054
```## Building the Executable
```
mix escript.build
```