{"id":20954411,"url":"https://github.com/devsisters/quicbench","last_synced_at":"2025-05-14T04:32:43.272Z","repository":{"id":27912723,"uuid":"31404647","full_name":"devsisters/quicbench","owner":"devsisters","description":"HTTP/QUIC load test and benchmark tool","archived":false,"fork":false,"pushed_at":"2016-11-28T05:21:20.000Z","size":166,"stargazers_count":33,"open_issues_count":4,"forks_count":10,"subscribers_count":48,"default_branch":"master","last_synced_at":"2025-04-02T13:02:48.321Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devsisters.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-27T05:17:29.000Z","updated_at":"2023-08-23T05:40:37.000Z","dependencies_parsed_at":"2022-07-08T10:51:30.209Z","dependency_job_id":null,"html_url":"https://github.com/devsisters/quicbench","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Fquicbench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Fquicbench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Fquicbench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsisters%2Fquicbench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devsisters","download_url":"https://codeload.github.com/devsisters/quicbench/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254071334,"owners_count":22009773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T01:14:36.673Z","updated_at":"2025-05-14T04:32:42.994Z","avatar_url":"https://github.com/devsisters.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Introduction\n================\n\nBenchmark tool for HTTP/SPDY over QUIC protocol written in Go. Originally forked from cmpxchg16's [Gobench](https://github.com/cmpxchg16/gobench).\n\n\nGetting Started\n================\n\n## Dependency\n\n  * [goquic](https://github.com/devsisters/goquic)\n  * [gospdyquic](https://github.com/devsisters/gospdyquic)\n\n## Build static library files\n\nTo build quicbench, you should build goquic's [static library files](https://github.com/devsisters/gospdyquic#build-static-library-files).\n\n## How to build\n\nDue to Go 1.4's cgo restrictions, use an environment variable like below to\nbuild your projects. This restriction will be removed from Go 1.5.\n\n```bash\nCGO_LDFLAGS=\"-L$GOPATH/src/github.com/devsisters/goquic/lib/$GOOS_$GOARCH\"\n```\n\nFor example, building quicbench in Mac:\n\n```bash\nCGO_LDFLAGS=\"-L$GOPATH/src/github.com/devsisters/goquic/lib/darwin_amd64\" go build $GOPATH/github.com/devsisters/quicbench/quicbench.go\n```\n\nIn Linux:\n\n```bash\nCGO_LDFLAGS=\"-L$GOPATH/src/github.com/devsisters/goquic/lib/linux_amd64\" go build $GOPATH/github.com/devsisters/quicbench/quicbench.go\n```\n\n## Usage\n\n1. run some quic supported server. You may use server implementation bundled in [gospdyquic](https://github.com/devsisters/gospdyquic)\n   or toy server implementation in Chromium [here](http://www.chromium.org/quic/playing-with-quic)\n2. run quicbench for HTTP GET\n\n   ```$\u003ego run quicbench.go -u http://localhost:80 -k=true -c 50 -r=10 -t 10```\n3. run quicbench for HTTP POST\n\n   ```$\u003ego run quicbench.go -u http://localhost:80 -k=true -c 50 -r=10 -t 10 -d /tmp/post```\n\n\nNotes\n================\n\n1. build a binary: \n\n    ```$\u003ego build gobench.go```\n    \n2. Because it's a test tool, in HTTPS the ceritificate verification is insecure\n3. use Go \u003e= 1.1 (1.1 including major bug fixes)\n4. quicbench creates one QUIC connection for each client and just create new stream for every request.\n   If you want to create QUIC connection for every request, use -qk=false option.\n\nHelp\n================\n\n```go run gobench.go --help```\n\nLicense\n================\n\nLicensed under the New BSD License.\n\nAuthor\n================\n\nOriginally written by Uri Shamay (shamayuri@gmail.com)\n\nQUIC protocol adopted by Brian Sung-Jin Hong (sungjinhong@devsisters.com) and Joonsung Lee (joonsung@devsisters.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsisters%2Fquicbench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevsisters%2Fquicbench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsisters%2Fquicbench/lists"}