WebSphere Process Server V6.2 性能調優,第 1 部分2

初始堆大小用於指定 JVM 代碼可使用的初始堆大小 ( 以兆位元組計 )。增加最小堆大小可改進啟動,少發生垃圾回收的次數,並且可實現 10% 的性能增益。通常,增加 Java 堆的大小會改進吞吐量,直到堆不再駐留在物理內存中。當堆開始交換到磁碟後,Java 性能將大幅下降。

    短生命周期對象所佔用的 Java 堆棧大小,當您使用 generational concurrent (gencon) 規則 Java GC 的時候,需要設置短生命周期對象所佔用的 Java 堆棧大小,整個 Java 堆棧可分為兩部分,短生命周期對象所佔用的 Java 堆棧和長生命周期對象所佔用的 Java 堆棧。如果您的應用中含有很多短時間內就會完成的事務,則應該將短生命周期對象所佔用 Java 堆的空間設置較大。
你可以在通用 JVM 參數 (Generic JVM arguments) 中輸入三個參數:
-Xmns size:
初始化的短生命周期對象所佔用的 Java 堆棧大小 
-Xmnx size:
最大的短生命周期對象所佔用的 Java 堆棧大小 
-Xmn size:
固定短生命周期對象所佔用的 Java 堆棧大小

Message Driven Bean (MDB) 激活規範相關的參數

WPS (WAS) 中有兩種 MDB 激活規範,針對每一種 MDB 激活規範,都有兩個關鍵參數需要進行調整:maxConcurrency maxBatchSize

    maxConrurrency 用於調整消息驅動的 bean 的最大實例數。預設情況下,並發 MDB 實例的最大數目設置為 10。在生產環境中這個值偏小,需要調整以增加並發處理能力。但是也並非越大越好,還要基於可用資源的情況進行設定,最大並發性限制可防止在臨時構建消息時啟動過多的 MDB 實例。

    maxBatchSize 用於調整消息驅動的 bean 的最大批處理大小。
預設情況下,一次只將單條消息傳遞給消息驅動的 bean 實例。可以通過將消息成批傳遞給消息驅動的 bean 來提高性能。於是,每個消息驅動的 bean 實例一次就會接收許多消息 ( 消息數的範圍是 1 到批處理大小 )。如果與消息驅動的 bean 相關聯的可用消息數 ( 隊列深度 ) 始終都很多,那麼更改最大並發性可能會對您有利。

下面我們介紹這兩種激活規範的用途和調整方法:

(1) J2C 激活規範

J2C 激活規範用於使用外部資源適配器來部署消息驅動的 bean。如果您要將消息驅動的 bean 用作 Java 連接器體系結構 (JCA) 1.5 資源適配器上的偵聽器,而不是預設消息傳遞 JMS 提供程序,那麼使用 J2C 激活規範。
您可以通過管理控制台進行設置:
資源 > 資源適配器 > J2C 激活規範 > 激活規範名稱 > J2C 激活規範定製屬性 ( 6)

6. J2C 激活規範設置頁面


您也可以通過管理控制台這樣進行設置:
資源 > 資源適配器 > 資源適配器名稱 > 其他屬性 > J2C 激活規範 > J2C 激活規範名稱 > J2C 激活規範定製屬性 ( 7)

7. J2C 激活規範設置頁面


(2) JMS 激活規範

WPS WAS 中,消息驅動的 Bean 與其目標之間的介面是由 JMS 激活規範提供的。JMS 激活規範與一個或多個消息驅動的 bean 關聯,並為它們提供接收消息所需的配置。
您可以通過管理控制台進行設置:
資源 > JMS > 激活規範 > 激活規範名稱 ( 8)

8. JMS 激活規範設置頁面


MQ 偵聽器埠 (Listener Port) 相關的參數

WPS 使用 MQ 監聽器埠為 MQ MQ JMS 綁定 (binding) 讀入消息。每個偵聽器埠由一個
消息驅動 Bean (Message Driven Bean) 使用,從關聯的目標自動接收消息。MQ 監聽器埠中的最大會話 (maximum sessions) 屬性可以控制讀入消息的並發性能。每個會話相應於一個單獨的偵聽器線程,並因此控制並發處理的消息數。如果您希望按嚴格的消息順序來處理消息,則將值設置為 1,這樣在任何時候都只有 1 個線程在處理消息。當伺服器未充分利用機器的可用容量,並且您不需要按特定消息順序來處理消息時,請調整此參數。
如果您希望同步處理多個消息 ( 稱為消息並發性“),則將此屬性設置為大於 1 的值。儘可能將此值保持在低值,以防止重載客戶機應用程序。對於存在運行時間很短的事務的 100% JMS 工作負載來說,一個好的起始點是每個處理器 2 4 個會話。如果存在運行時間較長的事務,則您可能需要更多會話,這些會話應該通過實踐來確定。
您可以通過管理控制台進行設置:
伺服器 > 應用程序伺服器 > 通信 > 消息傳遞 > 消息偵聽器服務 > 其他屬性 > 偵聽器埠 > 偵聽器埠名稱 ( 9)

9. MQ 偵聽器埠設置頁面


線程池大小相關的參數

對於每個 server,有三個線程池的參數需要調整:

    Default

    ORB.thread.pool

    WebContainer

Default 線程池中的線程用於分配給 MDB 的實例使用,除非您單獨指定其他的線程池。這意味著 Default 線程池的大小要比較大,尤其是當您增大激活規範的 maxConccurency 參數時。

ORB (對象請求代理,Object Request Broker) 線程池用於運行 ORB 請求,如遠程 EJB 調用。如果您有大量的遠程 EJB 被調用,比如人工任務 API 被調用,您需要加大 ORB 線程池大小來提高遠程 EJB 調用的並發處理能力。Web Container 線程池中的線程用於處理 HTTP Web 服務的請求,且被所有應用共用,因此您需要增大線程池以提高 HTTP Web 服務請求的並發處理能力。

您可以通過管理控制台進行設置:伺服器 > 應用程序伺服器 > 其他屬性 > 線程池 ( 10)

10. 伺服器線程池調整參數

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營