https://github.com/marcelog/excalit
Stress testing tool for web servers, written in elixir
https://github.com/marcelog/excalit
Last synced: 10 months ago
JSON representation
Stress testing tool for web servers, written in elixir
- Host: GitHub
- URL: https://github.com/marcelog/excalit
- Owner: marcelog
- License: apache-2.0
- Created: 2012-11-03T23:14:48.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2012-11-05T23:08:52.000Z (over 13 years ago)
- Last Synced: 2025-02-09T23:18:04.921Z (over 1 year ago)
- Language: Elixir
- Size: 142 KB
- Stars: 3
- Watchers: 3
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Excalit
## License
This software is under the Apache2 License. See the [LICENSE](https://github.com/marcelog/excalit/blob/master/LICENSE) file.
## About
Stress testing tool for web servers, written in [elixir](http://elixir-lang.org/).
Will launch *N* concurrent connections, make a request, and measure how much time took to:
* Open the connection
* Receive the response
## Sample run
$ mix excalit --url http://localhost:8080/ --concurrent 2
12:19:27.696 [info] Launching: 2
12:19:27.732 [info] 2: open: 15680 us
12:19:27.732 [info] 1: open: 15796 us
12:19:27.734 [info] 2: send: 2079 us
12:19:27.734 [info] 1: send: 2043 us
12:19:27.734 [info] 2: total: 19402 us
12:19:27.734 [info] 2: recv: 200|323|420 us
12:19:27.734 [info] 2: Finished
12:19:27.735 [info] 1: total: 20227 us
12:19:27.735 [info] 1: recv: 200|323|1172 us
12:19:27.735 [info] 1: Finished
12:19:27.735 [info] TCP connect time best: 2: 15680 us
12:19:27.736 [info] TCP connect time worst: 1: 15796 us
12:19:27.736 [info] TCP connect time 50% took: 15680 us
12:19:27.736 [info] TCP connect time 100% took: 15796 us
12:19:27.736 [info] Recv data best: 2: 420 us
12:19:27.736 [info] Recv data worst: 1: 1172 us
12:19:27.736 [info] Recv data 50% took: 420 us
12:19:27.737 [info] Recv data 100% took: 1172 us
12:19:27.737 [info] Total: 34847 us
* The operations are measured in microseconds.
* The "open: xxx us" line indicates how much it took to establish the tcp connection.
* The "recv: .." line indicates (separated by `|`):
* HTTP status code.
* Body length.
* Time it took to receive the data.
## Defaults
* GET method.
* HTTP 1.0.
* 1 connection.
* 0 milliseconds of delay when spawning childs.
## Options
* `--http11`: HTTP version.
* `--method get|post|put|delete|head|options|connect`: HTTP method to use.
* `--concurrent n`: Number of concurrent connections.
* `--delay n`: Delay in milliseconds between each child spawn.