【发布时间】:2014-01-09 14:42:18
【问题描述】:
我正在向 WebSphere 的 response.getOutputStream() 写入一个大响应(数百 Mb)。 看起来,Web Sphere 总是将整个输出流数据存储在一些内部内存缓冲区中,然后再将其提供给 cient。所以我的servet处理(生成数据)在几秒钟内完成,而浏览器可能仍在下载半小时。在此期间,整个响应仍然缓冲在内存中。
是否可以避免这种缓冲? 我宁愿更多的 servlet 线程等待输出流,而不是浪费 Gbs 的内存。
我的 Web Sphere 版本是 8.5.0。
我已经尝试设置内容长度和分块响应 - 都是一样的,仍然在缓冲。 我的 TCP 传输链设置默认为 32 kb 响应缓冲区,但不知何故被忽略了。
【问题讨论】: