如何减少我的应用程序的CPU消耗

Mar*_*res 2 java tomcat profiling connection-pooling c3p0

一段时间以来,我的应用程序开始出现非常大的 CPU 消耗。一段时间以来,我的应用程序开始出现非常大的 CPU 消耗。我安装了JProfiler,据我了解,hibernate的c3p0有问题。我使用hibernate 4.3,jsf2.2.10 + primefaces 5.2,tomcat 8.5,也使用ehcache。

这是我打印的一些结果。

形象消费变化

线程.data

线程树

休眠配置

use*_*900 5

您可以更改为使用Hikari连接池,

请参阅 Brett Wooldridge 的 C3P0 池分析:

我们统计了超过 230 次在各种类中使用同步块和方法以及 wait() 和 notifyAll() 的情况。与采用无锁设计的 HikariCP 和 Vibur-DBCP 的 0 进行比较。广泛而广泛地使用锁会导致代码容易出现死锁,这方面的证据可以通过谷歌搜索“c3p0 deadlock”找到。

我们确实认为 C3P0 似乎涵盖了所有基础知识。不幸的是,C3P0 在每一项微基准测试中也一直排在最后。

不安全的默认值 默认情况下不会:

在 getConnection() 时间测试连接