Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
/http2Public

HTTP/2 implementation for fasthttp

License

NotificationsYou must be signed in to change notification settings

dgrr/http2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

http2 is an implementation of HTTP/2 protocol forfasthttp.

Download

go get github.com/dgrr/http2@v0.3.5

Help

If you need any help to set up, contributing or understanding this repo, you can contact me ongofiber's Discord.

How to use the server?

The server can only be used if your server supports TLS.Then, you can callConfigureServer.

package mainimport ("github.com/valyala/fasthttp""github.com/dgrr/http2")funcmain() {s:=&fasthttp.Server{Handler:yourHandler,Name:"HTTP2 test",    }http2.ConfigureServer(s, http2.ServerConfig{})        s.ListenAndServeTLS(...)}

How to use the client?

The HTTP/2 client only works with the HostClient.

package mainimport ("fmt""log""github.com/dgrr/http2""github.com/valyala/fasthttp")funcmain() {hc:=&fasthttp.HostClient{Addr:"api.binance.com:443",        }iferr:=http2.ConfigureClient(hc, http2.ClientOpts{});err!=nil {log.Printf("%s doesn't support http/2\n",hc.Addr)        }statusCode,body,err:=hc.Get(nil,"https://api.binance.com/api/v3/time")iferr!=nil {log.Fatalln(err)        }fmt.Printf("%d: %s\n",statusCode,body)}

Benchmarks

Benchmark codehere.

fasthttp2

$  h2load --duration=10 -c10 -m1000 -t 4 https://localhost:8443[...]finished in 10.01s, 533808.90 req/s, 33.09MB/srequests: 5338089 total, 5348089 started, 5338089 done, 5338089 succeeded, 0 failed, 0 errored, 0 timeoutstatus codes: 5338089 2xx, 0 3xx, 0 4xx, 0 5xxtraffic: 330.90MB (346976335) total, 137.45MB (144128403) headers (space savings 57.14%), 101.82MB (106761780) data                     min         max         mean         sd        +/- sdtime for request:     1.06ms    101.25ms     17.16ms     11.06ms    75.19%time for connect:     5.21ms     17.36ms     12.60ms      3.56ms    70.00%time to 1st byte:    11.32ms     35.27ms     18.84ms      6.85ms    80.00%req/s           :   48976.50    59084.92    53359.02     3657.52    60.00%

net/http2

$  h2load --duration=10 -c10 -m1000 -t 4 https://localhost:8443[...]finished in 10.01s, 124812.90 req/s, 5.00MB/srequests: 1248129 total, 1258129 started, 1248129 done, 1248129 succeeded, 0 failed, 0 errored, 0 timeoutstatus codes: 1248247 2xx, 0 3xx, 0 4xx, 0 5xxtraffic: 50.00MB (52426258) total, 4.76MB (4995738) headers (space savings 95.83%), 23.81MB (24962580) data                     min         max         mean         sd        +/- sdtime for request:      141us    140.75ms     19.69ms     11.34ms    76.79%time for connect:     3.89ms     13.30ms      9.71ms      2.78ms    70.00%time to 1st byte:    11.02ms     50.13ms     20.13ms     11.24ms    90.00%req/s           :   11909.97    13162.89    12479.53      373.71    70.00%

About

HTTP/2 implementation for fasthttp

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp