我们在生产环境中遇到了一些性能问题。
我们发现,当活动会话数增加到25以上时,CPU的使用率将达到100%,并且花费很长时间才能关闭。
我们拥有的环境:
产品Microsoft SQL Server企业版9.3(sp2)
CPU 2(至强2.13)
内存7G
会话详细信息1的快照
活动会话 25
活跃交易 496
空闲会话 289
阻止的交易29
会话详细信息的快照2
活动会话 59
活跃交易 885
空闲会话 267
阻止的交易49
我想知道:
PS:我们测试了没有并发请求的情况下,一个事务(可读写5个表)在应用程序级别大约需要1秒,因此2个CPU是否可以很好地处理25个活动会话(500个活动事务)。
PS:被阻止的事务主要是由于2个表上的锁引起的。
解决方案是什么:添加CPU或调整应用程序(java / hibernate)以缩短此事务并减少表上的块?