首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wildfly JAX-RS / Resteasy并发连接

Wildfly JAX-RS / Resteasy并发连接
EN

Stack Overflow用户
提问于 2016-03-20 10:45:36
回答 1查看 2.5K关注 0票数 0

我正在运行WildFly 10 (最终版本),我有一个非常简单的JAX服务器应用程序。它只有一个测试端点,等待一个,然后返回HTTP状态

代码语言:javascript
复制
@Path("/test")
public class TestEndpoint {

@GET
@Produces("application/json;charset=UTF-8")
public Response get() {
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    return Response.ok().build();
}

}

麻烦的是,通过这种设置,我只能每秒到达10请求。不用了,我正在用SoapUI LoadTest -100个线程测试,请求之间延迟1ms。当另一台计算机的另一个用户连接到这样的WildFly应用程序时,他每秒最多也会收到10个请求。所以看起来这个限制是每个用户的。

我已经在不同的服务器上,甚至在本地主机上尝试过这个应用程序,它似乎总是每秒10个请求(大约9.8-10.5 req )。(每秒)。所有CPU核心的使用率都很低(平均为8%)。

我买了一本名为“WildFly管理指南”的书,t在书中提到了一些的设置。

  • 堆栈大小(500)
  • IO线(500)

什么都帮不上忙。即使在压力测试下,jboss也表明了这一点:

代码语言:javascript
复制
{
    "outcome" => "success",
    "result" => {
        "active-sessions" => 0,
        "context-root" => "/",
        "expired-sessions" => 0,
        "max-active-sessions" => 200,
        "rejected-sessions" => 0,
        "server" => "default-server",
        "session-avg-alive-time" => 0,
        "session-max-alive-time" => 0,
        "sessions-created" => 0,
        "virtual-host" => "default-host",
        "servlet" => {"com.test.ApiConfiguration" => undefined},
        "websocket" => undefined
    }
}

这部分很有趣

代码语言:javascript
复制
"servlet" => {"com.test.ApiConfiguration" => undefined},
            "websocket" => undefined

这是我的配置:

代码语言:javascript
复制
<thread-pools>
                <thread-pool name="default">
                    <max-threads count="1000"/>
                    <keepalive-time time="100" unit="milliseconds"/>
                </thread-pool>
            </thread-pools>

Web 性能--我还将用于应用程序的另一个部分。这个应用程序被打包在同一个WAR中。当部署到同一台服务器上时,应用程序可以每秒处理600-700个请求,但请求完成所需的时间较少,因此似乎限制仍然相同。

当然,我使用Resteasy作为WildFly中的默认JAX实现。

这是与WildFly相关的问题,还是其他问题?

EN

回答 1

Stack Overflow用户

发布于 2016-03-21 00:20:12

每次我看到这样的问题时,通常都会遇到客户端限制连接数量的问题。

默认情况下,Wildfly将创建16 * CPU的工作线程,这将给您超过10 req/秒(即使您只有一个CPU,它应该给您16) (IO线程在这里不应该相关)。

我会查看SoapUI设置“每个主机的最大连接”,我认为您会发现基准客户端只是没有创建足够的连接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36112766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档