【问题标题】:Stream flushing in servlet - does it improve tomcat server side performance?servlet 中的流刷新 - 它是否提高了 tomcat 服务器端的性能?
【发布时间】:2013-09-09 20:17:27
【问题描述】:

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

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

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

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

最后,我应该担心的利弊...

【问题讨论】:

    标签: java tomcat stream flush


    【解决方案1】:

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

    这让他们做更多的工作。

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

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

    【讨论】:

      猜你喜欢
      • 2019-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      • 2016-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多