kemal-github-api
Kemal Github API
Mock Github API implemented with Kemal to be used as a benchmark suite.
What's used?
Crystal: 0.27.1 Kemal: 0.25.1
Ruby Version: 2.5.3p101 Sinatra Version: v2.0.4 Puma: 3.12.0
Install
Clone the repo
git clone https://github.com/sdogruyol/kemal-github-api
cd kemal-github-api
Crystal
crystal build --release src/kemal-github-api.cr -o bin/kemal-github-api
./bin/kemal-github-api
Ruby
gem install sinatra puma
ruby sinatra-github-api.rb -s Puma
Benchmarks
Kemal
~ wrk -c 100 -d 40 http://localhost:3000/applications/123/tokens/123
Running 40s test @ http://localhost:3000/applications/123/tokens/123
2 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 2.18ms 716.18us 15.30ms 83.69%
Req/Sec 23.17k 2.30k 27.74k 72.88%
1844181 requests in 40.02s, 189.94MB read
Requests/sec: 46085.66
Transfer/sec: 4.75MB
Sinatra
➜ ~ wrk -c 100 -d 40 http://localhost:3000/applications/123/tokens/123
Running 40s test @ http://localhost:3000/applications/123/tokens/123
2 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 4.06ms 3.08ms 46.54ms 80.29%
Req/Sec 1.98k 810.65 3.32k 58.12%
157497 requests in 40.03s, 25.83MB read
Requests/sec: 3934.54
Transfer/sec: 660.88KB
Contributing
- Fork it ( https://github.com/sdogruyol/kemal-github-api/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- sdogruyol sdogruyol - creator, maintainer
Repository
kemal-github-api
Owner
Statistic
- 21
- 3
- 4
- 0
- 0
- almost 2 years ago
- July 5, 2017
License
MIT License
Links
Synced at
Sun, 22 Dec 2024 09:48:58 GMT
Languages