我正在使用jmeter对部署在wildfly20上的应用程序进行负载测试。观察结果是 300 requests/sec
而更多的wildfly服务器不响应少数请求,这些请求超时。在分析服务器日志(系统和应用程序)和线程转储时,找不到与此相关的内容,内存利用率也正常。
关于调整某些参数,例如 Open File Descriptors
,野蝇 IO threads/Task Max Threads
, Max Connections
而apache配置[详细信息如下]请求超时的数量已经显著减少,但仍然有很多请求超时。
在负载测试期间使用wildfly运行时进行监视有一件事引起了我的注意,即使在设置undertows Http Max Connections
参数的值,比如1000 Connection Count
值(在下面的屏幕截图中圈出)从不超过256。我在玩这个参数的时候看到了 Http Max Connections
参数设置为小于256但不超过256的任何值。看起来一旦达到这个限制,就不会有新的请求超时,直到释放一些连接。
是否有其他配置(apache或os)对此进行了限制,或者其他wildfly配置对此负责?我遗漏了什么吗[用于所有配置的wildfly管理控制台]
[来自standalone.xml]
<subsystem xmlns="urn:jboss:domain:io:3.0">
<worker name="default" io-threads="300" task-max-threads="300"/>
<buffer-pool name="default"/>
</subsystem>
...
<subsystem xmlns="urn:jboss:domain:undertow:11.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" default-security-domain="other" statistics-enabled="true">
<buffer-cache name="default"/>
<server name="default-server">
<http-listener name="default" max-connections="500" socket-binding="http" max-cookies="100" record-request-start-time="true" redirect-socket="https" enable-http2="true"/>
<https-listener name="https" socket-binding="https" max-cookies="100" record-request-start-time="true" security-realm="ApplicationRealm" enable-http2="true"/>
<host name="default-host">
<location name="/" handler="welcome-content"/>
<filter-ref name="limit-connections"/>
<http-invoker security-realm="ApplicationRealm"/>
</host>
</server>
<servlet-container name="default">
<jsp-config/>
<websockets/>
</servlet-container>
<handlers>
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
</handlers>
<filters>
<request-limit name="limit-connections" max-concurrent-requests="10000" queue-size="10000"/>
</filters>
</subsystem>
[apache配置]
<IfModule mpm_worker_module>
ServerLimit 40
StartServers 2
MaxClients 1000
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
[测试期间wildfly运行时监视控制台]
暂无答案!
目前还没有任何答案,快来回答吧!