Web application with Hibernate, Spring and Oracle goes up to 99% of the CPU (row lock contentions)
We have an web application in Linux environment that the CPU sometimes goes up to 99%.
Sometimes it takes days, and other times it takes minutes. We are using Hibernate with Spring in a tomcat webapp and an Oracle Database.
Checking the logs it appears the following:
"ConnectionManager - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!".
And then the sessioncount starts to grow until 256 sessions (the max allowed by our Apache confs). This is the line that appears when the session count gets 256:
"ContainerBackgroundProcessor[StandardEngine[Catalina]] ManagerBase - Start expire sessions StandardManager at 1259947978384 sessioncount 256"
After that the CPU gets 99%.
Any suggestions? All will be HIGHLY appreciated.
Thanks in advance.
p.s. Sometime ago we have some similar problems with row lock contention. That's wh开发者_开发百科y we adopt Spring.
Ah, it might be the dreaded client purge issue. If you are not using client variables turn them off.
From the CFAdmin > Server Settings > Client Variables > Select Default Storage Mechanism for Client Sessions set to None.
There isn't enough information to truely know what's causing your issue here. Some information that would be helpful would be information about the number coldfusion threads(and maximum). The database load is also something that would be meaningful, when the web server load spikes what is the database doing. What changed in conjunction with this problem coming into play?
精彩评论