wsadmin 工具效能提示

請遵循下列提示,從 wsadmin 工具取得最佳效能。

下列是 wsadmin 工具的效能提示:

  • [AIX Solaris HP-UX Linux Windows][IBM i]如果部署管理程式執行的服務維護層次高於節點代理程式的服務維護層次,您必須從部署管理程式的 bin 目錄執行 wsadmin.shwsadmin.bat
  • 當您使用 wsadmin 工具來啟動 Script 時,會以新的 Java 虛擬機器 (JVM) 來建立新的程序 API。 如果您從批次檔或 Shell Script 中搭配多個 wsadmin -c 指令來使用 Scripting ,這些指令的執行速度會比您使用單一 wsadmin -f 指令來得慢。 -f 選項執行更快,因為只會針對安裝建立一個程序和 JVM API ,而針對安裝的 Java 類別只會載入一次。

    下列範例說明從批次檔執行多個應用程式安裝指令。

    [Linux][AIX][HP-UX][Solaris]
    附註: 在 Unix 作業系統上,如果您使用 wsadmin -c 選項來呼叫包含錢幣符號字元 ($) 的指令,則指令行會嘗試替換變數。 若要避免此問題,請使用反斜線字元 (\) 來跳出錢幣符號字元。 例如 :wsadmin -c \ $AdminApp install ...
    [AIX Solaris HP-UX Linux Windows]使用 Jacl:
    wsadmin -c "$AdminApp install c:/myApps/App1.ear {-appname appl1}"
    wsadmin -c "$AdminApp install c:/myApps/App2.ear {-appname appl2}"
    wsadmin -c "$AdminApp install c:/myApps/App3.ear {-appname appl3}"
    [z/OS]使用 Jacl:
    wsadmin.sh -c "\$AdminApp install /myApps/App1.ear {-appname appl1}"
    wsadmin.sh -c "\$AdminApp install /myApps/App2.ear {-appname appl2}"
    wsadmin.sh -c "\$AdminApp install /myApps/App3.ear {-appname appl3}"
    wsadmin.sh -c "$AdminApp install /myApps/App1.ear {-appname appl1}"
    wsadmin.sh -c "$AdminApp install /myApps/App2.ear {-appname appl2}"
    wsadmin.sh -c "$AdminApp install /myApps/App3.ear {-appname appl3}"
    [IBM i]使用 Jacl:
    wsadmin -c "$AdminApp install /home/myDir/myApps/App1.ear {-appname appl1}"
    wsadmin -c "$AdminApp install /home/myDir/myApps/App2.ear {-appname appl2}"
    wsadmin -c "$AdminApp install /home/myDir/myApps/App3.ear {-appname appl3}"
    [AIX Solaris HP-UX Linux Windows]使用 Jython:
    wsadmin -lang jython -c "AdminApp.install('c:/myApps/App1.ear', '[-appname appl1]')"
    wsadmin -lang jython -c "AdminApp.install('c:/myApps/App2.ear', '[-appname appl2]')"
    wsadmin -lang jython -c "AdminApp.install('c:/myApps/App3.ear', '[-appname appl3]')"
    [z/OS]使用 Jython:
    wsadmin.sh -lang jython -c "\AdminApp.install('/myApps/App1.ear', '[-appname appl1]')"
    wsadmin.sh -lang jython -c "\AdminApp.install('/myApps/App2.ear', '[-appname appl2]')"
    wsadmin.sh -lang jython -c "\AdminApp.install('/myApps/App3.ear', '[-appname appl3]')"
    wsadmin.sh -lang jython -c "AdminApp.install('/myApps/App1.ear', '[-appname appl1]')"
    wsadmin.sh -lang jython -c "AdminApp.install('/myApps/App2.ear', '[-appname appl2]')"
    wsadmin.sh -lang jython -c "AdminApp.install('/myApps/App3.ear', '[-appname appl3]')"
    [IBM i]使用 Jython:
    wsadmin -lang jython -c "AdminApp.install('/home/myDir/myApps/App1.ear', '[-appname appl1]')"
    wsadmin -lang jython -c "AdminApp.install('/home/myDir/myApps/App2.ear', '[-appname appl2]')"
    wsadmin -lang jython -c "AdminApp.install('/home/myDir/myApps/App3.ear', '[-appname appl3]')"

    或者,例如,使用 Jacl ,您可以建立包含下列指令的 appinst.jacl 檔案:

    [AIX Solaris HP-UX Linux Windows]
    $AdminApp install c:/myApps/App1.ear {-appname appl1}
    $AdminApp install c:/myApps/App2.ear {-appname appl2}
    $AdminApp install c:/myApps/App3.ear {-appname appl3}
    [z/OS]
    $AdminApp install /myApps/App1.ear {-appname appl1}
    $AdminApp install /myApps/App2.ear {-appname appl2}
    $AdminApp install /myApps/App3.ear {-appname appl3}
    [IBM i]
    $AdminApp install /home/myDir/myApps/App1.ear {-appname appl1}
    $AdminApp install /home/myDir/myApps/App2.ear {-appname appl2}
    $AdminApp install /home/myDir/myApps/App3.ear {-appname appl3}

    使用下列指令來呼叫此檔案: wsadmin -f appinst.jacl

    或者,您可以使用 Jython 來建立 appinst.py 檔案,其中包含下列指令:

    [AIX Solaris HP-UX Linux Windows]
    AdminApp.install('c:/myApps/App1.ear', '[-appname appl1]')
    AdminApp.install('c:/myApps/App2.ear', '[-appname appl2]')
    AdminApp.install('c:/myApps/App3.ear', '[-appname appl3]')
    [z/OS]
    AdminApp.install('/myApps/App1.ear', '[-appname appl1]')
    AdminApp.install('/myApps/App2.ear', '[-appname appl2]')
    AdminApp.install('/myApps/App3.ear', '[-appname appl3]')
    [IBM i]
    AdminApp.install('/home/myDir/myApps/App1.ear', '[-appname appl1]')
    AdminApp.install('/home/myDir/myApps/App2.ear', '[-appname appl2]')
    AdminApp.install('/home/myDir/myApps/App3.ear', '[-appname appl3]')

    [AIX Solaris HP-UX Linux Windows][IBM i]然後使用下列指令來呼叫此檔案: wsadmin -lang jython -f appinst.py

    [z/OS]然後使用下列指令來呼叫此檔案: wsadmin.sh -lang jython -f appinst.py

  • 在大型安裝中小心使用 AdminControl queryNamescompleteObjectName 指令。 比方說,如果單一機器上只存在少數 Bean ,則 $AdminControl queryNames * 指令會妥善執行。

    如果 Scripting 用戶端連接至多部機器環境中的部署管理程式,只有在 Script 需要取得系統中所有 MBean 的清單時,才使用指令。 如果您在節點上需要 MBean ,則更容易呼叫 $AdminControl queryNames node=mynode, *。 JMX 系統管理基礎架構會將要求轉遞至系統,以滿足第一個查詢 *。 第二個查詢 node=mynode,* 以特定機器為目標。

  • WebSphere® Application Server 是分散式系統,如果您將遠端要求縮至最小, Script 會執行得更好。 如果數個項目 (例如,伺服器) 需要一些動作或詢問,則一次取得項目清單並在本端反覆運算會更有效率。 此程序適用於 AdminControl 物件對執行中 MBean 所執行的動作,以及 AdminConfig 物件對配置物件所執行的動作。