0

我正在查看一个使用 KXML2 序列化程序的 servlet。

看到之前的开发者flush()经常调用……除了让数据更快地发送到客户端,对实际的服务器和tomcat有什么影响?

不使用刷新时 CPU 使用率/负载会减少吗?

我已经使用 VisualVM 进行了基准测试/分析,发现我的代码在没有刷新的情况下运行得更快。

最后,我应该担心的任何事情的利弊......

4

1 回答 1

1

除了让数据更快地发送到客户端之外,对实际的服务器和tomcat有什么影响?

这让他们做更多的工作。

不使用刷新时 CPU 使用率/负载会减少吗?

稍微,是的。flush() 本身会消耗 CPU 周期,并且还可能导致网络延迟。真的没有什么意义,因为客户端在得到完整的响应之前不能做太多事情。如果响应不是分块的或固定长度的,Tomcat 无论如何都必须缓冲它以获取 Content-length:无论如何在发送它之前,在这种情况下没有任何优势。

于 2013-09-09T22:15:02.017 回答