{"repo":"domsolutions/gopayloader","free":true,"listed":false,"github":"https://github.com/domsolutions/gopayloader","clone":"git clone https://github.com/domsolutions/gopayloader.git","description":"HTTP/S benchmark/load testing cross-platform tool with optional jwt generation - supports HTTP/1.1, HTTP/2, HTTP/3","language":"Go","stars":19,"topics":["golang","http-client","http-requests","jwt","jwt-authentication","load-testing","benchmark-framework","benchmarking","go","http2"],"license":"GPL-3.0","category":"auth-billing-email","readme_excerpt":"Gopayloader Gopayloader is an HTTP/S benchmarking tool. Inspired by bombardier it also uses fasthttp which allows for fast creation and sending of requests due to low allocations and lots of other improvements. It uses this client by default, a different client can be used with --client flag. Supports all HTTP versions, using quic-go for HTTP/3 client with --client nethttp3 . For HTTP/2 can use with --client nethttp2 . By default uses fasthttp HTTP/1.1 client. Supports ability to generate custom JWTs to send in headers with payload (only limited by HDD size). This can be useful if the service being tested is JWT authenticated. Each JWT generated will be unique as contains a unique jti in claims i.e. A private key is supplied as a flag with optional flags to set other standard claims i.e. sub aud , iss and can also provide custom claims. It will then check if the required number of jwts has already been generated in a previous test by checking a file on disk. All JWTs are saved on disk in cache, this allows huge number of jwts to be generated without affecting in-memory use of gopayloader. Once all jwts have been generated the tests begin, and jwts are streamed from disk to requests. This keeps the memory footprint low. The other major benefit to pre-generating is all of CPU cycles can be dedicated to sending the requests thus achieving higher RPS. Contributing Contributions are welcome, please read the guidelines here. Installation Can install with (supported go versions = 1.","default_branch":null,"files":null,"tree":[],"storefront":"/r/domsolutions","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/domsolutions/gopayloader/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}