我们有JPA - > Hibernate - > Oracle设置,我们每秒只能处理22个事务(每次事务两次读取和一次写入)。 CPU,磁盘和网络不是瓶颈。
我有什么遗失的吗?我想知道DBA已经应用了某种类型的oracle强制限制吗?
答案 0 :(得分:0)
可能值得将性能与不同的客户端技术(甚至是使用SQL * Plus的简单测试)进行比较,看看你是否能够击败这种性能 - 它可能只是资源不足或配置错误的数据库。
我还将直接在d / b服务器上运行的SQL Plus的结果与在运行Java代码的任何机器上本地运行的结果进行比较(它通过SQL进行通信 Net )。这将确认问题是否低于Java层。
说实话,你的JPA代码和数据库本身之间有很多层,诊断原因会很有趣。 。 。我记得一个神秘的d / b性能问题解决了自己错误配置的网卡 - 数据库管理员坚决认为数据库没有出现任何瓶颈。
答案 1 :(得分:0)
听起来应用程序在不到0.05秒的时间内完成了一次交易。如果从应用程序中提取SELECT和UPDATE语句并使用SQL * Plus或其他工具自行运行它们,它们需要多长时间,如果你把语句的时间相加,它们是否接近0.05?数据来自查询中使用的数据,哪些最终会在UPDATE中使用?完全可能的是,减速不是数据库,而是应用程序中的其他位置,例如数据采集阶段。也许像分析器这样的东西可以用来找出应用程序花费时间的位置。
分享并享受。