繁体   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