計時作業和 JDBC 呼叫
當應用程式伺服器中的 JDBC 呼叫操作比預期速度慢或快時,計時作業會產生一則記載的警告。
概觀
當啟用時,計時作業特性會追蹤在應用程式伺服器中執行的 JDBC 作業的持續時間。 在作業執行了超出預期時間的情況中,計時作業特性會記載一則警告。 計時作業特性會定期在應用程式伺服器日誌中建立報告,詳述哪些作業花了最長的執行時間。 如果您執行 server dump 指令,計時作業特性會產生一份含有它追蹤的所有作業的相關資訊。 您可以利用這些報告列出的資訊,決定是否有任何項目的執行速度比您的預期更慢或更快。
系統會定期在日誌中產生含有 10 個最長 JDBC 計時作業的報告。 您可以在 server.xml 檔中配置這份報告的頻率和啟用狀況,預設值是每天(24 小時)一次。
如果要啟用計時作業,請新增 timedOperations-1.0 特性到 server.xml 檔中。
您可以停用日誌報告的產生,或變更報告頻率,例如,依照下列範例所示,利用 timedOperation 元素來變更為每 12 小時一次。
<timedOperation enableReport="false" reportFrequency="12" />
伺服器會自動將追蹤的計時作業數目,限制為 <maxNumberTimedOperations> 屬性中指定的值。當計時作業的總數達到所指定的最大值時,就會記載警告。
<timedOperation enableReport="false" reportFrequency="12" maxNumberTimedOperations="10000"/>
為了限制追蹤的計時作業數目,當需要追蹤新的計時作業時,會刪除近期最少使用的計時作業記錄。當所追蹤的計時作業數目達到指定的最大值時,就會顯示如下警告:TRAS0095I:計時作業總數已達到所配置的上限 10000。隨著新計時作業的建立,將會移除近期最少使用的計時作業,以便讓所追蹤的計時作業總數維持在這個層次。
您也可以使用 server dump 指令,在 messages.log 檔中取得所有計時作業的完整報告,這些作業會依類型分組,並在各群組中依實際持續時間的平均值排序。
下列範例顯示範例記載訊息:
[3/14/13 14:01:25:960 CDT] 00000025 TimedOperatio W TRAS0080W: Operation websphere.datasource.execute:
jdbc/exampleDS:insert into cities values ('myHomeCity', 106769, 'myHomeCountry') took 1.541 ms to complete,
which was longer than the expected duration of 0.213 ms based on past observations.
下列範例顯示日誌中自動產生的報告範例:
[12/13/12 7:42:29:509 CST] 0000001d com.ibm.wsspi.timedoperations.TimedOperationService I TRAS0092I:
The following operations took the longest time to run since the last report has been generated:
Operation websphere.datasource.execute:jdbc/exampleDS:insert into cities values ('myHomeCity',
106769, 'myHomeCounty') took 194ms to complete
Operation websphere.datasource.execute:jdbc/exampleDS:select county from cities where name=
'myHomeCity' took 187ms to complete
Operation websphere.datasource.execute:jdbc/exampleDS:drop table cities took 182ms to
complete\Operation websphere.datasource.execute:jdbc/exampleDS:insert into cities values
('myHomeCity', 106769, 'myHomeCounty') took 151ms to complete
如需完整的計時作業配置參照,請參閱計時作業。