Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tengine 2.2.2 使用http2协议 下 psot方法超时504; #1087

Closed
maqingshan opened this issue Aug 20, 2018 · 5 comments
Closed

tengine 2.2.2 使用http2协议 下 psot方法超时504; #1087

maqingshan opened this issue Aug 20, 2018 · 5 comments

Comments

@maqingshan
Copy link

CentOS release 6.6 (Final
Tengine version: Tengine/2.2.2 (nginx/1.8.1)

为了提高系统稳定性,决定从Tengine/2.1.2 升级 到最新版本Tengine/2.2.2 。 但是发现上传服务504;
测试结论:
1:回退到2.1.2 服务正常,仍然使用http2;
2:Tengine/2.2.2 下用http1.1 服务正常;
3:Tengine/2.2.2 下用http2 服务超时,504退出;

strace 内容太多无法写
Process 903755 attached - interrupt to quit
epoll_wait(18,

{{EPOLLIN, {u32=2174996720, u64=140052468584688}}}, 512, 30776) = 1
write(10, "2018/08/20 11:10:03 [debug] 9037"..., 70) = 70
accept4(14, {sa_family=AF_INET, sin_port=htons(61535), sin_addr=inet_addr("10.252.134.2")}, [16], SOCK_NONBLOCK) = 4
write(10, "2018/08/20 11:10:03 [debug] 9037"..., 79) = 79
。。。。

@maqingshan
Copy link
Author

这个是结尾部分 卡在这里 等超时

write(10, "2018/08/20 11:10:19 [debug] 9037"..., 66) = 66
close(21) = 0
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 63) = 63
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 69) = 69
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 21
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 53) = 53
ioctl(21, FIONBIO, [1]) = 0
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 83) = 83
epoll_ctl(18, EPOLL_CTL_ADD, 21, {EPOLLIN|EPOLLOUT|EPOLLET|0x2000, {u32=2174997393, u64=140052468585361}}) = 0
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 84) = 84
connect(21, {sa_family=AF_INET, sin_port=htons(8005), sin_addr=inet_addr("10.135.5.137")}, 16) = -1 EINPROGRESS (Operation now in progress)
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 69) = 69
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 84) = 84
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 83) = 83
epoll_wait(18, {{EPOLLOUT, {u32=2174997393, u64=140052468585361}}}, 512, 5000) = 1
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 130) = 130
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 78) = 78
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 70) = 70
getsockopt(21, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 75) = 75
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 71) = 71
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 70) = 70
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 77) = 77
writev(21, [{"POST /ZEXwVuTsRZb/zhuanzhuan/284"..., 513}, {"\r\n--140182a5-88dd-4bea-9287-6c5e"..., 44}], 2) = 557
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 62) = 62
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 78) = 78
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 78) = 78
write(10, "2018/08/20 11:10:19 [debug] 9037"..., 84) = 84
epoll_wait(18, ^C <unfinished ...>
Process 903755 detached

@xuexila
Copy link

xuexila commented Aug 21, 2018

同样遇到这个问题,目前我的解决方案是增加client_body_buffer_size,并关闭client_body_in_file_only,感觉问题在于POST数据过大的时候,不能写入缓存。

@wangfakang
Copy link
Collaborator

@maqingshan 相关原因可参考这个 #1109
当前正在升级core代码,届时会支持http2的流式上传功能,从根上解决这个问题。

@maqingshan
Copy link
Author

感谢答复,期待升级

@chobits
Copy link
Member

chobits commented Mar 28, 2019

This bug has been fixed in latest tengine.

Tengine-2.3.0 has been released, it has been been upgraded to nginx 1.15.9.

For more details of new version, see #1220.

@chobits chobits closed this as completed Mar 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants