繁体   English   中英

Java Servlet:性能问题

[英]Java Servlet: performance issue

我写了一个简单的 servlet,它只包含服务方法(下面的代码)。 我在 weblogic 服务器(版本 10.3.6)下运行测试,并使用 Gatling 执行负载测试。 但是我对图中提到的峰值时间响应的巨大变化感到惊讶( http://i.stack.imgur.com/QP2Fz.png ):例如,选定的峰值提到 99% 的线程有 27 ms 作为时间响应,只有 1% 的线程的时间响应等于 320ms。

服务端代码:

@Override
   public void service(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException
        {
            String responseMessage = "hello world";
            // the message (which is the route)
            response.setContentType("text/xml;charset=utf-8");
            response.setStatus(200);
            response.setContentLength(2);
            OutputStream outputStream = response.getOutputStream();
            outputStream.write(responseMessage.getBytes());         
        }

1% 的线程具有等于 320 毫秒的时间响应

不是。第 99 个百分位数是 27ms,最大值是 320mx,这意味着 1% 的响应时间介于这两个值之间。 由于您不知道那里的分布,因此您无法判断这些分布主要位于下方还是上方。

我对时间响应的巨大变化感到惊讶

一个应用程序涉及许多物理组件,这些物理组件通常不专用于您的使用,而是与其他人(网络、CPU 等)共享,因此必然会发生打嗝。

你想要的是保持他们的概率很低。

所以现在我们在谈论统计数据。 您需要有足够的值,以便您的样本具有统计显着性,并知道您的第 99.9 和第 99.99 个百分位数是多少,以便您真正了解您的打嗝情况。 Gatling 标准报告没有给你,你必须从 Simulation.log 文件中的数据计算它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM