Enterprise Bean 計數器
請利用這個頁面來作為 Enterprise Bean 計數器的內容參照。
計數器定義
名稱 | 金鑰 | EJB 類型 | ID | 說明 | 類型 | 層次 | 經常成本 | 疑難排解 |
---|---|---|---|---|---|---|---|---|
CreateCount | beanModule.creates | 無狀態、有狀態、實體、MDB | 1 | 建立 Bean 的次數。 | CountStatistic | 基本 | 低 | 無狀態、MDB:當這個值高於預期時,請參照 FreedCount 和 DiscardCount。 |
RemoveCount | beanModule.removes | 無狀態、有狀態、實體、MDB | 2 | 移除 Bean 的次數。 | CountStatistic | 基本 | 低 | 無。 |
ActivateCount | beanModule.activates | 有狀態、實體 | 3 | 啟動 Bean 的次數。 | CountStatistic | 全部 | 低 | 有狀態:當這個值高於預期且未使用失效接手時,請考慮將啟動原則變更為 ONCE。
實體:當這個值高於預期且採用選項 A 或 B 快取時,儲存器快取可能太小。 |
PassivateCount | beanModule.passivates | 實體 | 4 | 取消 Bean 的次數。 | CountStatistic | 基本 | 低 | 無。 |
InstantiateCount | beanModule.instantiates | 有狀態、實體 | 5 | Bean 物件實例化的次數。 | CountStatistic | 全部 | 低 | 無。 |
FreedCount | beanModule.destroys | 有狀態、實體 | 6 | 釋放 Bean 物件的次數。 | CountStatistic | 全部 | 低 | 無。 |
LoadCount | beanModule.loads | 實體 | 7 | 從持續性儲存體載入 Bean 資料的次數。 | CountStatistic | 全部 | 低 | 無。 |
StoreCount | beanModule.stores | 實體 | 8 | 將 Bean 資料儲存在持續性儲存體中的次數。 | CountStatistic | 全部 | 低 | 如果這個值高於預期,請考慮使用唯讀設定。 |
ReadyCount | beanModule.readyCount | 實體 | 9 | 備妥狀態的 Bean 實例數。 | RangeStatistic | 基本 | 高 | 無。 |
LiveCount | beanModule.concurrentLives | 無狀態、有狀態、單態、實體、MDB | 10 | 目前存活的 Bean 的平均數目。 | RangeStatistic | 延伸 | 高 | 無狀態、MDB:如果這個值始終高於儲存區大小,請考慮增加儲存區大小。
有狀態:如果這個值高於預期,應用程式有可能遺漏了對移除方法的呼叫。 |
MethodCallCount | beanModule.totalMethodCalls | 無狀態、有狀態、單態、實體、MDB | 11 | 對 Bean 的商業方法的呼叫數。 | CountStatistic | 基本 | 高 | 無。 |
MethodResponseTime | beanModule.avgMethodRt | 無狀態、有狀態、單態、實體、MDB | 12 | 在 Bean 的商業方法上的平均回應時間(毫秒)。 | AverageStatistic | 基本 | 高 | 無。 |
CreateTime | beanModule.avgCreateTime | 無狀態、有狀態、實體、MDB | 14 | 實例化和 PostConstruct 的平均時間(毫秒)。 | AverageStatistic TimeStatistic | 全部 | 上限 | 無。 |
RemoveTime | beanModule.avgRemoveTime | 無狀態、有狀態、實體、MDB | 15 | PreDestroy 的平均時間(毫秒,其中包括在資料庫的時間,如果有的話)。 | AverageStatistic TimeStatistic | 全部 | 上限 | 無。 |
ActiveMethodCount | beanModule.activeMethods | 無狀態、有狀態、單態、實體、MDB | 18 | 同時作用中的方法數(也就是同時呼叫的方法數)。 | RangeStatistic | 全部 | 高 | 無。 |
RetrieveFromPoolCount | beanModule.getsFromPool | 無狀態、實體、MDB | 19 | 從儲存區中擷取物件的呼叫數。 | CountStatistic | 全部 | 低 | 無。 |
RetrieveFromPoolSuccessCount | beanModule.getsFound | 無狀態、實體、MDB | 20 | 擷取動作在儲存區中找到可用物件的次數。 | CountStatistic | 全部 | 低 | 如果這個值比 RetrieveFromPoolCount 低太多,請考慮增加儲存區大小。 |
ReturnsToPoolCount | beanModule.returnsToPool | 無狀態、實體、MDB | 21 | 將物件傳回儲存區的呼叫數。 | CountStatistic | 延伸 | 低 | 無。 |
ReturnsDiscardCount | beanModule.returnsDiscarded | 無狀態、實體、MDB | 22 | 由於儲存區已滿而捨棄傳回物件的次數。 | CountStatistic | 延伸 | 低 | 如果這個值大於預期,請考慮增加儲存區大小。 |
DrainsFromPoolCount | beanModule.drainsFromPool | 無狀態、實體、MDB | 23 | 常駐程式發現儲存區閒置而試圖將它清除的次數。 | CountStatistic | 全部 | 低 | 無。 |
DrainSize | beanModule.avgDrainSize | 無狀態、實體、MDB | 24 | 每次排除的平均捨棄物件數。 | AverageStatistic | 全部 | 中 | 無。 |
PooledCount | beanModule.poolSize | 實體、MDB | 25 | 目前在儲存區中的物件數。 | RangeStatistic | 基本 | 高 | 無。 |
MessageCount | beanModule.messageCount | MDB | 26 | 傳遞到 Bean 的 onMessage 方法的訊息數。 | CountStatistic | 基本 | 低 | 無。 |
MessageBackoutCount | beanModule.messageBackoutCount | MDB | 27 | 無法交付到 Bean 的 onMessage 方法的訊息取消數。 | CountStatistic | 全部 | 低 | 無。 |
WaitTime | beanModule.avgSrvSessionWaitTime | MDB | 28 | 從儲存區中取得伺服器階段作業所需的平均時間(毫秒)。 | AverageStatistic TimeStatistic | 全部 | 中 | 無。 |
ServerSessionPoolUsage | beanModule.serverSessionUsage | MDB | 29 | 伺服器階段作業儲存區使用中的百分比。 | RangeStatistic | 全部 | 高 | 無。 |
ActivationTime | beanModule.activationTime | 有狀態、實體 | 30 | 啟動 Bean 物件的平均時間(毫秒)。 | AverageStatistic TimeStatistic | 全部 | 中 | 無。 |
PassivationTime | beanModule.passivationTime | 有狀態、實體 | 31 | 取消 Bean 物件的平均時間(毫秒)。 | AverageStatistic TimeStatistic | 全部 | 中 | 無。 |
LoadTime | beanModule.loadTime | 實體 | 32 | 從持續性儲存體中載入 Bean 資料的平均時間(毫秒)。 | AverageStatistic TimeStatistic | 全部 | 中 | 無。 |
StoreTime | beanModule.storeTime | 實體 | 33 | 將 Bean 資料儲存於持續性儲存體的平均時間(毫秒)。 | AverageStatistic TimeStatistic | 全部 | 中 | 無。 |
PassivationCount | beanModule.passivationCount | Stateful | 34 | 在取消狀態的 Bean 數目。 | RangeStatistic | 基本 | 低 | 有狀態:當這個值高於預期且未使用失效接手時,請考慮將啟動原則變更為 ONCE。 |
ReadyCount | beanModule.methodReadyCount | 無狀態、有狀態 | 35 | 備妥狀態的 Bean 實例數。 | RangeStatistic | 基本 | 高 | 當這個值低於預期時,請考慮增加儲存區大小。 |
ReadLockTime | beanModule.readLockTime | 單態 | 36 | 執行緒在呼叫單態方法之前等待讀取鎖定的平均時間(毫秒)。 | TimeStatistic | 基本 | 中 | 對於所有單態方法而言,WRITE 是預設的儲存器管理並行區分。 如果這個值高於預期,除非需要 WRITE 並行,否則請確定所有方法都變更為 READ。 |
WriteLockTime | beanModule.writeLockTime | 單態 | 37 | 執行緒在呼叫單態方法之前等待寫入鎖定的平均時間(毫秒)。 | TimeStatistic | 基本 | 中 | 對於所有單態方法而言,WRITE 是預設的儲存器管理並行區分。 如果這個值高於預期,除非需要 WRITE 並行,否則請確定所有方法都變更為 READ。 |
LockCancelCount | beanModule.LockCancelCount | 單態 | 38 | 因超出指定的「存取逾時」值而取消單態方法呼叫的總數。 | CountStatistic | 基本 | 低 | 如果這個值高於預期,請增加這個單態類型的「存取逾時」值,或變更單態方法的設計,以縮小 ReadLockTime 和 WriteLockTime 值。 |
AsyncWaitTime | beanModule.asyncWaitTime | 無狀態、有狀態、單態 | 39 | 非同步方法在執行之前,在工作管理員佇列上等待的平均時間。 | TimeStatistic | 基本 | 高 | 如果這個值高於預期,請增加工作管理員中的執行緒數目上限。 |
AsyncQSize | beanModule.asyncQSize | 無狀態、有狀態、單態 | 40 | 非同步方法的工作管理員佇列的平均大小。 | RangeStatistic | 基本 | 高 | 如果這個值高於預期,請增加工作管理員中的執行緒數目上限。 |
AsyncCancelCount | beanModule.asyncCancelCount | 無狀態、有狀態、單態 | 41 | 發動且傳回結果的非同步方法的取消數目。 | CountStatistic | 基本 | 低 | 如果這個值高於預期,請檢閱應用程式設計以及系統日誌和錯誤日誌,以識別取消方法的原因。 |
AsyncFNFFailCount | beanModule.asyncFNFFailCount | 無狀態、有狀態、單態 | 42 | 發動失敗且遺漏非同步方法的數目。 | CountStatistic | 基本 | 低 | 請檢閱系統日誌和錯誤日誌來識別方法失敗的原因。 |
AsyncFutureObjectCount | beanModule.asyncFutureObjectCount | 無狀態、有狀態、單態 | 43 | 來自發動且傳回結果的非同步方法的伺服器端 Future 物件數。 只針對非同步遠端商業介面方法來收集這個統計資料。 | CountStatistic | 基本 | 高 | 請檢閱您的應用程式,確定會追蹤所有用戶端 Future 物件及呼叫 Future.get() 方法,並釋放 Future 物件的所有相關資源。 另外,您也可以減少 EJBAsync 配置物件的 futureTime 屬性。 預設值:86400(24 小時)。 |
DiscardCount | beanModule.discards | 無狀態、有狀態、單態、實體、MDB | 44 | 已捨棄的 Bean 實例數。 | CountStatistic | 基本 | 低 | 請檢閱系統日誌和錯誤日誌來識別捨棄 Bean 實例的原因。 |
MethodCalls | beanModule.methods.methodCalls | 無狀態、有狀態、單態、MDB | 51 | 方法呼叫數。 | CountStatistic | 基本 | 高 | 無。 |
MethodRt | beanModule.methods.methodRt | 無狀態、有狀態、單態、MDB | 52 | 平均方法回應時間(毫秒)。 如果是單態 Bean,其中不包括等待鎖定所經歷的任何時間。 | AverageStatistic TimeStatistic | 全部 | 上限 | 無。 |
MethodLoad | beanModule.methods.methodLoad | 無狀態、有狀態、單態、MDB | 53 | 呼叫相同方法的並行呼叫數。 | RangeStatistic | 全部 | 上限 | 無。 |
MethodLevelCallCount | beanModule.methodLevelCallCount | 無狀態、有狀態、單態、MDB | 54 | WebSphere® Application Server 在 Enterprise Bean 上進行的方法呼叫數。 如果是訊息驅動 Bean,這是嘗試將訊息交付給 Bean 的 bean onMessage 方法的次數。 | CountStatistic | 基本 | 低 | 無。 |
除非另有指定,否則,EJB Home 物件就是計數器的範圍。 下表列出計數器的其他可能範圍,以及有該範圍的計數器清單:
EJB 範圍 | 計數器 |
---|---|
EJB Home 物件和儲存區物件 |
RetrieveFromPoolCount RetrieveFromPoolSuccessCount ReturnsToPoolCount ReturnsDiscardCount DrainsFromPoolCount DrainSize PooledCount |
EJB Bean 類型 |
MessageCount MessageBackoutCount WaitTime ServerSessionPoolUsage PassivationCount ReadyCount AsyncWaitTime AsyncQSize AsyncCancelCount AsyncFNFFailCount AsyncFutureObjectCount DiscardCount MethodCalls MethodRt MethodLoad MethodLevelCallCount |
java.management.j2ee.statistics API 可用來擷取部分計數器。
下表列出可用的計數器、Bean 類型和 API。
計數器 | Bean 類型 | java.management.j2ee.statistics API |
---|---|---|
CreateCount | 全部 | EJBStats.getCreateCount() |
RemoveCount | 全部 | EJBStats.getRemoveCount() |
ReadyCount | 實體 | EntityBeanStats.getReadyCount() |
PooledCount | 實體 | EntityBeanStats.getPooledCount() |
MessageCount | MDB | MessageDrivenBeanStats.getMessageCount() |
PassiveCount | Stateful | StatefulSessionBBeanStats.getPassiveCount() |
MethodReadyCount | 全部 | SessionBeanStats.getMethodReadyCount() |