在 Linux 上运行 WebLogic(通常 10g/11g/12c 都适用),调整线程数主要从 管理控制台 或 配置文件 两方面入手。下面按常见场景说明。
http://<IP>:<端口>/console
例如:
http://192.168.1.10:7001/console
路径(版本略有差异):
WebLogic 12c 及以后(使用 Work Manager)
12c 默认是 自调优线程池,不推荐手动写死,除非性能问题明显
WebLogic 10g / 11g(旧模式)
config.xml路径一般在:
$DOMAIN_HOME/config/config.xml
示例(12c 之前):
<server>
<name>AdminServer</name>
<execute-queue>
<name>default</name>
<thread-count>200</thread-count>
</execute-queue>
</server>
<work-manager>
<name>MyWM</name>
<min-threads-constraint>
<name>MinThreads</name>
<count>10</count>
</min-threads-constraint>
<max-threads-constraint>
<name>MaxThreads</name>
<count>200</count>
</max-threads-constraint>
</work-manager>
然后在应用中引用该 Work Manager。
虽然不直接控制 WebLogic 线程,但可以影响性能:
export JAVA_OPTIONS="-Xms2g -Xmx4g -XX:ThreadStackSize=256k"
ps -ef | grep weblogic
查看线程:
top -H -p <pid>
或:
jstack <pid> | grep "weblogic" | wc -l
如果你能告诉我:
我可以给你更精确的配置示例。