reorx / httpstat

curl statistics made simple
MIT License
5.94k stars 384 forks source link

why server processing is 0 with local request #44

Open zuodd opened 3 years ago

zuodd commented 3 years ago

curl 7.61.1 (x86_64-redhat-linux-gnu) libcurl/7.61.1 OpenSSL/1.1.1c zlib/1.2.11 brotli/1.0.6 libidn2/2.2.0 libpsl/0.20.2 (+libidn2/2.0.5) libssh/0.9.0/openssl/zlib nghttp2/1.33.0

export  HTTPSTAT_SHOW_IP=true
export  HTTPSTAT_SHOW_SPEED=true
export  HTTPSTAT_SAVE_BODY=false
export  HTTPSTAT_DEBUG=false

Connected to ::1:8094 from ::1:57934

HTTP/1.1 100 Continue

HTTP/1.1 200 OK Content-Type: application/json Grpc-Metadata-Content-Type: application/grpc Date: Tue, 31 Aug 2021 12:33:30 GMT Content-Length: 258

  DNS Lookup   TCP Connection   Server Processing   Content Transfer
[     0ms    |       0ms      |        0ms        |      1405ms      ]
             |                |                   |                  |
    namelookup:0ms            |                   |                  |
                        connect:0ms               |                  |
                                      starttransfer:0ms              |
                                                                 total:1405ms 

speed_download: 0.2 KiB/s, speed_upload: 36791.2 KiB/s

reorx commented 3 years ago

这是在做文件上传吗?server processing 是从连接建立到开始传输的时间,对于上传下载接口来说没问题,主要时间都是在传输过程中。

zuodd commented 3 years ago

这是在做文件上传吗?server processing 是从连接建立到开始传输的时间,对于上传下载接口来说没问题,主要时间都是在传输过程中。

是的,我调用本地localhost接口,上传了一些图片,图片传给接口后本地服务器还会做一些算法处理,为什么服务器的那部分算法处理时间统计不出来呢?

server processing 是从连接建立到开始传输的时间 : 这个意思是连接建立后开始计算,到文件传输之前的时间段? 如果是这样,那么真实的服务器处理时间没有统计到吗?

reorx commented 3 years ago

真实的服务器处理时间包含在了 Content Transfer 之中,因为服务端必须先接收完所有的文件数据才能开始处理,但从客户端的角度并不会区分开传输的时间与传输后的处理时间。

zuodd commented 3 years ago

文件从客户端传输到服务器,和服务器拿到文件后开始做相关逻辑处理,是两码事吧? 我理解 1、文件传输时间:就是客户端发送完请求,以及完全拿到服务端传输过来的文件 2、服务器处理时间:服务器从拿到文件后开始做的逻辑处理,到返回给客户端 你意思是:上面的1和2一并计算Content Transfer里面了?这怎么说的过去? Content Transfer的真实含义又是什么呢?

lRoccoon commented 2 years ago

文件从客户端传输到服务器,和服务器拿到文件后开始做相关逻辑处理,是两码事吧? 我理解 1、文件传输时间:就是客户端发送完请求,以及完全拿到服务端传输过来的文件 2、服务器处理时间:服务器从拿到文件后开始做的逻辑处理,到返回给客户端 你意思是:上面的1和2一并计算Content Transfer里面了?这怎么说的过去? Content Transfer的真实含义又是什么呢?

Content Transfer仅表示下载的网络耗时