Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Syerram/twilio_load
A Load tester tool for twilio endpoints
https://github.com/Syerram/twilio_load
Last synced: 3 months ago
JSON representation
A Load tester tool for twilio endpoints
- Host: GitHub
- URL: https://github.com/Syerram/twilio_load
- Owner: Syerram
- Created: 2015-10-27T19:48:22.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-10-28T00:23:13.000Z (over 9 years ago)
- Last Synced: 2024-08-02T13:19:23.381Z (6 months ago)
- Language: Go
- Size: 1.17 MB
- Stars: 9
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-twilio-golang - Syerram/twilio_load
README
##Twilio Endpoint Load tester
The goal of the script is to load test your twilio endpoint, just like a simple `ab` tester.
You can pass json data to the endpoint (both valid and invalid) and see how it utilizes resources and get an **estimate of costs** of using twilio with high load.
For e.g. You can send 5000 invalid requests and see how your server utilizes its resources (does it flood the log files, emails, database, costs of receiving/replying etc).In order to run the script, make a copy of the sample ini files and then run
```
$ go build tw_load.go
$ ./tw_load -f ./tw_load.ini -d ./tw_data.ini
```Once completed, it will print the results of the load testing along with costs of sending/receiving messages (sample response below)
```
Benchmarking http://127.0.0.1:5000/sms (be patient).....
Done!
Document Path: http://127.0.0.1:5000/sms
Concurrency Level: 5
Users: 200
Completed requests: 1000
Failed requests: 0
Total time: 2.15083s
Time per request: 10.691935ms
-----------------------------------
Total recv: 1000
Total sent 1000
Approx cost: $15.00```
###Config INI
Contains information such as account token, load factors. Check ini files for more documentation.###Data INI
Contains data that needs to be sent to the endpoint. Check ini files for more documentation.###Tests
To run tests, make a copy of the sample ini files and then adjust values. Then run `go test -v`###TODO
- Remove the data ini file and instead choose a simple file format (txt) by having each line as a json data row. We can then distribute data across the requests