用raw req eval构造 req。
nginx errlog 见附件。
从log看,6s超时(在test:nginx里data部分设置)后client断开keepalive连接,收到响应。
但是从log看,在6s前,nginx已经say response了。
2016/09/14 10:08:39 [info] 24996#24996: *1 [lua] TCosocket.lua:127: setkeepalive(): Thrift Cosocket reused times: 1, client: 127.0.0.1, server: localhost, request: "GET /t/ HTTP/1.1", host: "s3.dnion.com:8081"
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua tcp socket set keepalive: saving connection 00007FA6F7946FF8
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua tcp socket clear current socket connection
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua tcp socket keepalive timeout: 60000 ms
2016/09/14 10:08:39 [debug] 24996#24996: *1 event timer add: 11: 60000:1473818979552
2016/09/14 10:08:39 [debug] 24996#24996: lua tcp socket keepalive close handler check stale events
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua finalize socket
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua http cleanup free: 00007FA6F7989428
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua reuse free buf chain, but reallocate memory because 2479 >= 93, cl:00007FA6F7989440, p:00007FA6F79897D8
2016/09/14 10:08:39 [debug] 24996#24996: *1 posix_memalign: 00007FA6F798D7A0:4096 @16
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua say response
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua capture header filter, uri "/t/"
2016/09/14 10:08:39 [debug] 24996#24996: *1 HTTP/1.1 200 OK^M
Server: openresty/1.9.15.1^M
Date: Wed, 14 Sep 2016 02:08:39 GMT^M
Content-Type: application/xml^M
Connection: keep-alive^M
x-amz-request-id: tx00000000000000000027b-0057835f2e-107b-default^M
content-length: 2478^M
2016/09/14 10:08:39 [debug] 24996#24996: *1 write new buf t:1 f:0 00007FA6F7989928, pos 00007FA6F7989928, size: 228 file: 0, size: 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 http write filter: l:0 f:0 s:228
2016/09/14 10:08:39 [debug] 24996#24996: *1 http output filter "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 http copy filter: "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua capture body filter, uri "/t/"
2016/09/14 10:08:39 [debug] 24996#24996: *1 http postpone filter "/t/?" 00007FA6F7989440
2016/09/14 10:08:39 [debug] 24996#24996: *1 write old buf t:1 f:0 00007FA6F7989928, pos 00007FA6F7989928, size: 228 file: 0, size: 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 write new buf t:1 f:0 00007FA6F798D7C0, pos 00007FA6F798D7C0, size: 2479 file: 0, size: 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 http write filter: l:0 f:0 s:2707
2016/09/14 10:08:39 [debug] 24996#24996: *1 http write filter limit 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 writev: 2707 of 2707
2016/09/14 10:08:39 [debug] 24996#24996: *1 http write filter 0000000000000000
2016/09/14 10:08:39 [debug] 24996#24996: *1 http copy filter: 0 "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua reuse free buf memory 2479 >= 6, cl:00007FA6F7989440, p:00007FA6F798D7C0
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua say response
2016/09/14 10:08:39 [debug] 24996#24996: *1 http output filter "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 http copy filter: "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua capture body filter, uri "/t/"
2016/09/14 10:08:39 [debug] 24996#24996: *1 http postpone filter "/t/?" 00007FA6F7989440
2016/09/14 10:08:39 [debug] 24996#24996: *1 write new buf t:1 f:0 00007FA6F798D7C0, pos 00007FA6F798D7C0, size: 6 file: 0, size: 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 http write filter: l:0 f:0 s:6
2016/09/14 10:08:39 [debug] 24996#24996: *1 http copy filter: 0 "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua allocate new chainlink and new buf of size 0, cl:00007FA6F7989A10
2016/09/14 10:08:39 [debug] 24996#24996: *1 http output filter "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 http copy filter: "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua capture body filter, uri "/t/"
2016/09/14 10:08:39 [debug] 24996#24996: *1 http postpone filter "/t/?" 00007FA6F7989A10
2016/09/14 10:08:39 [debug] 24996#24996: *1 write old buf t:1 f:0 00007FA6F798D7C0, pos 00007FA6F798D7C0, size: 6 file: 0, size: 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 write new buf t:0 f:0 0000000000000000, pos 0000000000000000, size: 0 file: 0, size: 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 http write filter: l:0 f:1 s:6
2016/09/14 10:08:39 [debug] 24996#24996: *1 http write filter limit 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 writev: 6 of 6
2016/09/14 10:08:39 [debug] 24996#24996: *1 http write filter 0000000000000000
2016/09/14 10:08:39 [debug] 24996#24996: *1 http copy filter: 0 "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua flush asynchronously
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua exit with code 200
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua resume returned 1
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua thread yielded
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua thread aborting request with status 200
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua request cleanup: forcible=0
2016/09/14 10:08:39 [debug] 24996#24996: *1 http set discard body
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua sending last buf of the response body
2016/09/14 10:08:39 [debug] 24996#24996: *1 http output filter "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 http copy filter: "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua capture body filter, uri "/t/"
2016/09/14 10:08:39 [debug] 24996#24996: *1 http postpone filter "/t/?" 00007FFDF667D9F0
2016/09/14 10:08:39 [debug] 24996#24996: *1 write new buf t:0 f:0 0000000000000000, pos 0000000000000000, size: 0 file: 0, size: 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 http write filter: l:1 f:0 s:0
2016/09/14 10:08:39 [debug] 24996#24996: *1 http copy filter: 0 "/t/?"
2016/09/14 10:08:39 [debug] 24996#24996: *1 lua run thread returned 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 http finalize request: 0, "/t/?" a:1, c:1
2016/09/14 10:08:39 [debug] 24996#24996: *1 set http keepalive handler
2016/09/14 10:08:39 [debug] 24996#24996: *1 http close request
2016/09/14 10:08:39 [debug] 24996#24996: *1 http log handler
2016/09/14 10:08:39 [debug] 24996#24996: *1 free: 00007FA6F798C790
2016/09/14 10:08:39 [debug] 24996#24996: *1 free: 00007FA6F7987F30, unused: 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 free: 00007FA6F7988F40, unused: 880
2016/09/14 10:08:39 [debug] 24996#24996: *1 free: 00007FA6F798D7A0, unused: 1585
2016/09/14 10:08:39 [debug] 24996#24996: *1 free: 00007FA6F7940960
2016/09/14 10:08:39 [debug] 24996#24996: *1 hc free: 0000000000000000 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 hc busy: 0000000000000000 0
2016/09/14 10:08:39 [debug] 24996#24996: *1 tcp_nodelay
2016/09/14 10:08:39 [debug] 24996#24996: *1 reusable connection: 1
2016/09/14 10:08:39 [debug] 24996#24996: *1 event timer add: 10: 68000:1473818987552
2016/09/14 10:08:39 [debug] 24996#24996: *1 post event 00007FA6F7951640
2016/09/14 10:08:39 [debug] 24996#24996: keepalive dummy handler
2016/09/14 10:08:39 [debug] 24996#24996: timer delta: 7
2016/09/14 10:08:39 [debug] 24996#24996: posted event 00007FA6F7951640
2016/09/14 10:08:39 [debug] 24996#24996: *1 delete posted event 00007FA6F7951640
2016/09/14 10:08:39 [debug] 24996#24996: *1 http keepalive handler
2016/09/14 10:08:39 [debug] 24996#24996: *1 malloc: 00007FA6F7940960:1024
2016/09/14 10:08:39 [debug] 24996#24996: *1 recv: fd:10 -1 of 1024
2016/09/14 10:08:39 [debug] 24996#24996: *1 recv() not ready (11: Resource temporarily unavailable)
2016/09/14 10:08:39 [debug] 24996#24996: *1 free: 00007FA6F7940960
2016/09/14 10:08:39 [debug] 24996#24996: worker cycle
2016/09/14 10:08:39 [debug] 24996#24996: epoll timer: 60000
2016/09/14 10:08:45 [debug] 24996#24996: epoll: fd:10 ev:2001 d:00007FA6F7946F10
2016/09/14 10:08:45 [debug] 24996#24996: *1 http keepalive handler
2016/09/14 10:08:45 [debug] 24996#24996: *1 malloc: 00007FA6F7940960:1024
2016/09/14 10:08:45 [debug] 24996#24996: *1 recv: fd:10 0 of 1024
2016/09/14 10:08:45 [info] 24996#24996: *1 client 127.0.0.1 closed keepalive connection
2016/09/14 10:08:45 [debug] 24996#24996: *1 close http connection: 10