大约有 40 个应用程序启动。而且启动性能非常慢。通过火焰图分析,应用程序dynamicImport-Package是*,这会减慢启动过程。
产品版本:23.0.0.11 应用程序类型:WarApplication
<featureManager>
<feature>servlet-4.0</feature>
<feature>jndi-1.0</feature>
<feature>jdbc-4.1</feature>
<feature>websocket-1.1</feature>
<feature>jsp-2.3</feature>
<feature>localConnector-1.0</feature>
</featureManager>
我该如何解决这个问题?有什么方法可以执行启动过程吗?
当许多应用程序同时启动时,它们将在瓶颈点争夺资源和争用(例如,包含应用程序之间共享的类的公共存档文件)可能会减慢启动过程。如果这是问题所在,您可以通过对应用程序启动进行排序来减少争用,而不是让它们全部尝试立即启动。这可以使用 Liberty 中的“startAfterRef”配置属性来完成,如本文档中所述。
https://www.ibm.com/docs/en/was-liberty/nd?topic=configuration-webapplication
当然,40个应用程序的配置启动缓慢还有其他原因,例如系统CPU限制、系统内存限制、Java堆不足等。但如果你已经确定这些基本资源问题不是问题,那么“startAfterRef”可能会有所帮助。