如何在 Linux 机器上的 Wildfly 8.2.1 中编辑 http 连接

Posted

技术标签:

【中文标题】如何在 Linux 机器上的 Wildfly 8.2.1 中编辑 http 连接【英文标题】:How to edit http connection in wildfly 8.2.1 on Linux machine 【发布时间】:2020-09-20 21:38:14 【问题描述】:

我在 RHEL 6.9 上的 Wildfly 8.2.1 上部署了一个简单的 Servlet Web 应用程序。此应用程序只接受 post 请求并以 200 OK 响应。

现在,当客户端(java 客户端使用 apache-common-http 客户端)在 Web 应用程序上发布数据时。 Web 应用程序正在接受请求,但许多请求也失败,客户端出现错误“Caused by java.net.ConnectException: Connection timed out (Connection timed out)”。

我的假设是,Wildfly 有一些默认的最大 Http 连接值,可以在任何时间点打开。如果有更多请求需要打开新连接,则 Web 服务器将全部拒绝。

这里有人可以帮我解决以下问题吗:

我们如何在 RHEL 6.9 中检查实时打开的 HTTP 连接。我的意思是 RHEL 中的命令检查端口 8080 上打开了多少个连接?

我们如何在 wildfly 中调整 HTTP 连接的默认值?

HTTP 连接和最大线程数是否相互关联。如果是这样,请告诉我应该如何在 Wildfly 配置(standalone.xml)中更新它们。

Wildfly 可以在队列中保留多少请求?请求会发生什么 Wildfly 服务器(如果队列已满)。

注意:这是一种针对流量高的网络服务器的负载测试,不确定确切的值但它很高。

【问题讨论】:

您没有显示任何代码并至少问了 4 个问题。我们需要更多细节来提供帮助。 我明白了。但我所有的问题都与widfly有关,一个与rhel有关。所以,我不想为此处理代码。顺便说一句,为您提供信息,Web 应用程序的代码没有太多内容。我创建了一个简单的 servlet java 文件,其中 dopost 接受了 post 请求,只是回复了 200 OK 没有别的。 您的描述不清楚。您是否只有一个客户,或者您正在尝试大规模执行此操作? 这里的客户端是Jmeter测试工具。我每秒运行 100 个电话。意味着 100 个请求在 1 秒内到达 Web 服务器。 【参考方案1】:

您正在进入一些系统管理主题,但我会尽可能回答。首先,Wildfly 8.2.1 是 Wildfly 第一版的一部分,我强烈建议升级到更新版本。

要检查类 Unix 环境中的连接数,您需要使用 netstat 命令行。在您的情况下,类似于:

netstat -na | grep 8080 | grep EST

这将显示所有已建立到端口 8080 的连接。这将为您提供连接数量的快照。通过管道将其发送到 wc 以获取计数。

接下来,在 Wildfly 8.2.1 上查找文档现在有点困难,但 Wildfly 8 使用 Undertow 来处理套接字 IO。这反过来又使用了 XNIO。我发现a thread 详细介绍了配置 I/O 子系统。请注意,Wildfly 8.2.1 使用 Undertow 1.1.8,在我能找到的任何地方都没有记录。

对于您的最后两个问题,我相信它们与第二个问题有关 - XNIO 配置包括如下配置:

<subsystem xmlns="urn:jboss:domain:io:1.0">
    <worker name="default" io-threads="5" task-max-threads="50"/>
    <buffer-pool name="default" buffer-size="16384" buffers-per-slice="128"/>
</subsystem>

但您需要深入研究文档以了解详细信息。

在 Wildfly 19.1.0.Final 中,配置看起来与上面的代码类似,只是现在版本是 3.0。

【讨论】:

以上是关于如何在 Linux 机器上的 Wildfly 8.2.1 中编辑 http 连接的主要内容,如果未能解决你的问题,请参考以下文章

WildFly 21 CLI 无法识别 Amazon Linux 2 上的现有文件路径

Wildfly 8,远程调试应用

如何在同一台机器上运行 2 个(或更多)Wildfly 实例?

如何在调试模式下运行 wildfly,作为 Windows 上的服务?

Wildfly管理控制台无法在Linux上打开

Wildfly 上的 Tika-Parsers 部署问题