簡體   English   中英

如何測量線程等待數據庫連接時出現的延遲?

[英]How to measure latency which appears when threads are awaiting for db connection?

說我有10個守護進程線程的Java應用程序。

說我有最多3個連接的連接池(例如c3p0)。

每個線程都在使用數據庫。 當一個線程正在等待處於BLOCKED狀態的連接時,可能會發生(當然確實會發生)。

當它們每個處於等待連接的阻塞狀態時,我需要測量總線程延遲。

最好的方法是什么?

使用您自己的實現來擴展Thread並覆蓋方法“ notify”,以便將“ system.currentTimeMilis”保存在某種緩存中-您可以調用帶有miliseconds參數的方法來照顧每個線程的notifyTimes。 然后,在擴展線程中,覆蓋run / start方法並再次獲取currentTimeMilis。 還要獲取wait方法的currentTime(再次重寫,並且不要忘記在重寫中調用super方法)。 玩這三種類型的線程,您應該可以進行基准測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM