我正在使用apachebench(ab)来测试Web服务器
此问题与this question类似。
这是一个请求的输出
:: ab -c 1 -n 1 -v 5 -k http://localhost:8082/typealine
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)...INFO: POST header ==
---
GET /typealine HTTP/1.0
Connection: Keep-Alive
Host: localhost:8082
User-Agent: ApacheBench/2.3
Accept: */*
---
LOG: header received:
HTTP/1.1 200 OK
set-cookie: i=101203-012359.597-197269fc4;path=/;expires=Thu,31-Dec-2020 00:00:00 GMT;
content-type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: Keep-Alive
205
<html><head><link href=/default.css rel=stylesheet><script src=/default.js></script></head><body onload=ui.onload()><form onsubmit=return(false)><center>
<div style="text-align:center;border:1px dotted blue;padding:7px"><span id=__st> ڀ </span><input value="" title="s" id=_s name=_s type=text onkeypress="return ui._cr(event,this,'_ a')" size=32 onchange="this._changed=true"> <a id=_ href="javascript:ui.ax('_ a')">ᐖ</a><script>document.getElementById('_s').focus();</script><br>
<br>
<span id=disp></span></div>
0
LOG: Response code = 200
..done
Server Software:
Server Hostname: localhost
Server Port: 8082
Document Path: /typealine
Document Length: 0 bytes
Concurrency Level: 1
Time taken for tests: 0.001 seconds
Complete requests: 1
Failed requests: 0
Write errors: 0
Keep-Alive requests: 1
Total transferred: 721 bytes
HTML transferred: 0 bytes
Requests per second: 1312.34 [#/sec] (mean)
Time per request: 0.762 [ms] (mean)
Time per request: 0.762 [ms] (mean, across all concurrent requests)
Transfer rate: 924.02 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 1 1 0.0 1 1
Waiting: 0 0 0.0 0 0
Total: 1 1 0.0 1 1
这里的示例输出失败
:: ab -c 1 -n 5 -v 5 -k http://localhost:8082/typealine
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)...INFO: POST header ==
---
GET /typealine HTTP/1.0
Connection: Keep-Alive
Host: localhost:8082
User-Agent: ApacheBench/2.3
Accept: */*
---
LOG: header received:
HTTP/1.1 200 OK
set-cookie: i=101203-012711.490-1fdea5f58;path=/;expires=Thu,31-Dec-2020 00:00:00 GMT;
content-type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: Keep-Alive
205
<html><head><link href=/default.css rel=stylesheet><script src=/default.js></script></head><body onload=ui.onload()><form onsubmit=return(false)><center>
<div style="text-align:center;border:1px dotted blue;padding:7px"><span id=__st> ڀ </span><input value="" title="s" id=_s name=_s type=text onkeypress="return ui._cr(event,this,'_ a')" size=32 onchange="this._changed=true"> <a id=_ href="javascript:ui.ax('_ a')">ᐛ</a><script>document.getElementById('_s').focus();</script><br>
<br>
<span id=disp></span></div>
0
LOG: Response code = 200
LOG: header received:
HTTP/1.1 200 OK
set-cookie: i=101203-012711.490-10b9564e5;path=/;expires=Thu,31-Dec-2020 00:00:00 GMT;
content-type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: Keep-Alive
LOG: Response code = 200
LOG: header received:
205
<html><head><link href=/default.css rel=stylesheet><script src=/default.js></script></head><body onload=ui.onload()><form onsubmit=return(false)><center>
<div style="text-align:center;border:1px dotted blue;padding:7px"><span id=__st> ڀ </span><input value="" title="s" id=_s name=_s type=text onkeypress="return ui._cr(event,this,'_ a')" size=32 onchange="this._changed=true"> <a id=_ href="javascript:ui.ax('_ a')">ᐖ</a><script>document.getElementById('_s').focus();</script><br>
<br>
<span id=disp></span></div>
0
WARNING: Response code not 2xx (500)
apr_poll: The timeout specified has expired (70007)
Total of 2 requests completed
我非常热衷于在网络服务器中找到错误或确定ab是否有问题
这是从模拟ab
的telnet会话输出 :: telnet localhost 8082
Trying ::1...
Connected to localhost.localdomain.
Escape character is '^]'.
GET /typealine HTTP/1.0
Connection: Keep-Alive
Host: localhost:8082
User-Agent: ApacheBench/2.3
Accept: */*
HTTP/1.1 200 OK
set-cookie: i=101203-030537.389-1d3d8c1cb;path=/;expires=Thu,31-Dec-2020 00:00:00 GMT;
content-type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: Keep-Alive
205
<html><head><link href=/default.css rel=stylesheet><script src=/default.js></script></head><body onload=ui.onload()><form onsubmit=return(false)><center>
<div style="text-align:center;border:1px dotted blue;padding:7px"><span id=__st> ڀ </span><input value="" title="s" id=_s name=_s type=text onkeypress="return ui._cr(event,this,'_ a')" size=32 onchange="this._changed=true"> <a id=_ href="javascript:ui.ax('_ a')">ᐖ</a><script>document.getElementById('_s').focus();</script><br>
<br>
<span id=disp></span></div>
0
GET /typealine HTTP/1.0
Connection: Keep-Alive
Host: localhost:8082
User-Agent: ApacheBench/2.3
Accept: */*
HTTP/1.1 200 OK
set-cookie: i=101203-030539.162-1d8b8c256;path=/;expires=Thu,31-Dec-2020 00:00:00 GMT;
content-type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: Keep-Alive
205
<html><head><link href=/default.css rel=stylesheet><script src=/default.js></script></head><body onload=ui.onload()><form onsubmit=return(false)><center>
<div style="text-align:center;border:1px dotted blue;padding:7px"><span id=__st> ڀ </span><input value="" title="s" id=_s name=_s type=text onkeypress="return ui._cr(event,this,'_ a')" size=32 onchange="this._changed=true"> <a id=_ href="javascript:ui.ax('_ a')">ᐖ</a><script>document.getElementById('_s').focus();</script><br>
<br>
<span id=disp></span></div>
0
GET /typealine HTTP/1.0
Connection: Keep-Alive
Host: localhost:8082
User-Agent: ApacheBench/2.3
Accept: */*
HTTP/1.1 200 OK
set-cookie: i=101203-030541.086-18be1706b;path=/;expires=Thu,31-Dec-2020 00:00:00 GMT;
content-type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: Keep-Alive
205
<html><head><link href=/default.css rel=stylesheet><script src=/default.js></script></head><body onload=ui.onload()><form onsubmit=return(false)><center>
<div style="text-align:center;border:1px dotted blue;padding:7px"><span id=__st> ڀ </span><input value="" title="s" id=_s name=_s type=text onkeypress="return ui._cr(event,this,'_ a')" size=32 onchange="this._changed=true"> <a id=_ href="javascript:ui.ax('_ a')">ᐛ</a><script>document.getElementById('_s').focus();</script><br>
<br>
<span id=disp></span></div>
0
答案 0 :(得分:1)
所以问题是规范要求0 CRLF CRLF作为分块传输编码的结束标记。 ab被破坏,因为它想要0和CRLF。
答案 1 :(得分:0)
从那个输出看起来在第二个响应的标题之后有一个额外的CRLF,而ab
期望看到块长度。