如何减少应用程序的CPU使用量

时间:2018-08-30 11:55:40

标签: java tomcat profiling connection-pooling c3p0

一段时间以来,我的应用开始消耗大量CPU。一段时间以来,我的应用程序开始消耗大量CPU。我安装了JProfiler,据我所知,hibernate的c3p0存在问题。我正在使用hibernate 4.3,jsf2.2.10 + primefaces 5.2,tomcat 8.5,也请使用ehcache。

这是我打印的一些结果。

imagem consumo mchange

Threads .data

thread tree

hibernate config

1 个答案:

答案 0 :(得分:4)

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

请参见Brett Wooldridge的C3P0池分析:

  

我们统计了230多个同步块和方法的使用,以及各个类中的wait()和notifyAll()。相比之下,采用无锁设计的HikariCP和Vibur-DBCP则为0。广泛广泛使用锁会导致容易出现死锁的代码,而对此的证据可以通过谷歌搜索“ c3p0死锁”找到。

     

我们确实给予C3P0荣誉,因为它似乎涵盖了所有基本原理。不幸的是,C3P0在每个微基准测试中也始终排在最后。

     

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

     

在getConnection()时间测试连接