【问题标题】:What is tomcat's performance limit?tomcat的性能限制是多少?
【发布时间】:2013-11-02 02:17:27
【问题描述】:

简短的问题:我的 tomcat 服务器最大速度为 850 MB/秒。这合乎逻辑吗?

我正在尝试对我的 tomcat 安装进行基准测试。该服务器是一个后端存储服务器,我希望达到每秒 ~2.5 GBytes/S (30 gBits) 的速度。这不是互联网服务器。它是一个云计算节点,有几个光纤卡。我有兴趣尽可能接近理论极限。

当使用真正的 S/W 进行基准测试时,我的表现低于标准。我用“虚拟”小服务器测试了tomcat(如下)。我最高达到 850 MBytes/s。但我的 CPU 只有 30% 忙。这合乎逻辑吗?

我正在使用apache ab进行测试:

ab -c 100 -n 10000  localhost:8080/tcbench/tcbench

我的设置是带有 32GB 内存的 E31260L XEON、Ubuntu 12.04 和带有 JDK 7 的 Oracale tomcat7(默认配置文件)。

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 
public class tcbench extends HttpServlet {
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("application/text;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            out.print(testBuffer);
        } finally {            
            out.close();
        }
    }

    static char[] testBuffer=new char[128*1024];

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }
}

【问题讨论】:

  • 您可以尝试运行不同的轻量级服务器,例如 Nginx - 并且只提供大型文本文件。这应该会给你一个带宽基准进行比较。
  • 尝试了其他两个选项:来自 Apache 的静态 128k 文件 - 1.5gBps。码头 - 500 gBps。这很奇怪,我原以为 Apache 会更快。是什么限制了我的速度?
  • 硬盘I/O是什么样子的?
  • 尝试分析,花点时间会很有趣...您可以考虑调整 GC。网上有很多关于如何调优tomcat的技巧。

标签: java performance tomcat load-testing


【解决方案1】:

如果您不受 CPU 限制...这通常意味着其他因素阻碍了您。

您使用的是访问记录器还是其他记录器?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 2016-04-14
    • 2014-12-12
    • 2012-05-20
    • 2017-03-13
    • 2018-08-02
    • 2019-02-21
    相关资源
    最近更新 更多