resty icon indicating copy to clipboard operation
resty copied to clipboard

Why is ConnTime so long?

Open hoslo opened this issue 3 years ago • 2 comments

ufile download fileName: 67F0C1CA4548440EP08A07B6.jpg, trace: {DNSLookup:1.59315ms ConnTime:10.074076038s TCPConnTime:0s TLSHandshake:0s ServerTime:84.875535ms ResponseTime:20.539µs TotalTime:10.158972112s IsConnReused:true IsConnWasIdle:false ConnIdleTime:0s RequestAttempt:1 RemoteAddr:10.23.255.247:80}, status: 200
// define global client
defaultTransport := &http.Transport{
		Proxy:                 http.ProxyFromEnvironment,
		DialContext:           dialer.DialContext,
		ForceAttemptHTTP2:     true,
		MaxIdleConns:          100,
		IdleConnTimeout:       90 * time.Second,
		TLSHandshakeTimeout:   10 * time.Second,
		ExpectContinueTimeout: 1 * time.Second,
		MaxIdleConnsPerHost:   1000,
	}
uRfileClinet = resty.New()
uRfileClinet.SetTransport(defaultTransport)

// use in gin handler
ctx, cacel := context.WithTimeout(context.Background(), time.Second*20)
defer cacel()
uFileResp, err := uRfileClinet.R().
EnableTrace().
SetContext(ctx).
SetDoNotParseResponse(true).
Get(url)
log.LgReqAccess.Sugar().Infof("ufile_upstream_response_time: %s fileName: %s", time.Since(ufileUpstreamStartTime), fileName)
trace := uFileResp.Request.TraceInfo()
log.LgReqAccess.Sugar().Infof("ufile download fileName: %s, trace: %+v, status: %d", fileName, trace, uFileResp.StatusCode())
if err != nil {
  log.LgReqAccess.Sugar().Errorf("ufile download error: %+v, fileName: %s", err, fileName)
  statusCode = uFileResp.StatusCode()
  return
}
defer uFileResp.RawBody().Close()

_, err = io.Copy(c.Writer, uFileResp.RawBody())

hoslo avatar Dec 03 '22 01:12 hoslo

Could you be more specific? Does the connection not take 10s? Is the connection made quickly but it takes 10s to download the file (which should not make ConnTime long)? Can you try a tool such as httpstat to see what it shows? More details would be helpful.

moorereason avatar Dec 07 '22 17:12 moorereason

@hoslo, any data points for @moorereason queries?

jeevatkm avatar Oct 01 '23 01:10 jeevatkm