我如何衡量客户必须等待请求的时间。
在服务器端很容易,例如通过过滤器。 但是,如果我们想考虑包括延迟和数据传输在内的总时间,那就很难了。
是否可以访问底层套接字以查看请求何时完成? 还是需要做一些 javascript 技巧?也许通过浏览器和服务器之间的时钟同步?此任务是否有任何预制的 javascript?
最佳答案
您可以包装 HttpServletResponse 对象和 HttpServletResponse 返回的 OutputStream。当输出开始写入时,您可以设置一个开始日期,当它停止时(或刷新时等)您可以设置一个停止日期。
这可用于计算将所有数据流式传输回客户端所花费的时间长度。
我们在我们的应用程序中使用它,数字看起来很合理。
编辑:您可以在 ServletFilter 中设置开始日期以获取客户端等待的时间长度。我给了你将输出写入客户端所需的时间长度。
关于java - 测量 Servlet 的总网络传输时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/86008/