当我运行apache bench时,我得到的结果如下:
Command: abs.exe -v 3 -n 10 -c 1 https://mysite
Connection Times (ms)
min mean[+/-sd] median max
Connect: 203 213 8.1 219 219
Processing: 78 177 88.1 172 359
Waiting: 78 169 84.6 156 344
Total: 281 389 86.7 391 564
我似乎无法找到连接,处理和等待的定义。这些数字意味着什么?
答案 0 :(得分:35)
连接和等待时间
建立连接并获取响应的第一位所花费的时间
处理时间
服务器响应时间 - 即服务器处理请求和发送回复所花费的时间
总时间
连接和处理时间的总和
我把它等同于:
答案 1 :(得分:25)
通过查看源代码,我们找到了这些时间点:
apr_time_t start, /* Start of connection */
connect, /* Connected, start writing */
endwrite, /* Request written */
beginread, /* First byte of input */
done; /* Connection closed */
当请求完成时,一些时间存储为:
s->starttime = c->start;
s->ctime = ap_max(0, c->connect - c->start);
s->time = ap_max(0, c->done - c->start);
s->waittime = ap_max(0, c->beginread - c->endwrite);
“处理时间”后来计算为
s->time - s->ctime;
因此,如果我们将其转换为时间轴:
t1: Start of connection
t2: Connected, start writing
t3: Request written
t4: First byte of input
t5: Connection closed
然后定义是:
Connect: t1-t2 Most typically the network latency
Processing: t2-t5 Time to receive full response after connection was opened
Waiting: t3-t4 Time-to-first-byte after the request was sent
Total time: t1-t5
答案 2 :(得分:2)
连接:连接远程主机所需的时间
处理:总时间减去连接远程主机所需的时间
等待:响应第一个字节接收减去发送的最后一个字节
总计:从连接之前到连接关闭之后