我们已经构建了REST web服务,并部署在Websphere应用服务器和IBM服务器8.5上。
对于我们有相当大响应(超过64 KB)的一些POST请求,我们没有得到完整的响应数据。应用程序已经生成了很好的JSON,但是JSON正在被截断。相同的请求被多次触发,但是对于很少的请求,响应会被随机截断。
我们的分析表明,每当我们得到这个截断的响应时,我们得到的响应是32 we的倍数,即实际响应大小可以是105 we,但是我们只能得到64 we或96 we的响应。
知道原因是什么吗?任何可以帮助我们解决问题的配置?
谢谢纳林德
发布于 2015-11-04 16:46:11
您可能希望增加Web容器上的写缓冲区的大小,以阻止它在多个线程上分块写入。写入器缓冲区的默认大小为32K,这确实与您所看到的倍数相对应。
要更改此设置,请执行以下操作:
应用服务器>-服务器名称->端口>传输链> HttpQueueInboundDefault
单击Web容器并将其写入缓冲区大小为适当的值。在大多数情况下,您希望将缓冲区设置为能够在一次写入而不是多次写入中写入所有(或大多数)响应。
另见WebSphere应用服务器8.5调优
https://stackoverflow.com/questions/33524322
复制相似问题