1

我有一个在 JBoss 6.1(Hibernate 3.6)中运行良好的查询。这是一个简单的两表连接,返回 955 条记录。当我在 JBoss 7.1.1 中部署相同的 .war 文件时,性能会大幅下降(至少一个数量级)。这是查询:

SELECT c.uid, c.name, -1, c.file_Id, cs.error, cs.is_Error, c.parent_Uid, c.job_Id, c.description 
FROM stage.Classification_Status cs, stage.Classification c 
WHERE cs.is_Error = true AND cs.classification_Id = c.id AND c.job_Id = 3001;    

我无法确定 JBoss 7.1.1 中捆绑了哪个版本的 Hibernate,所以我不知道要针对哪个版本提交错误。

有没有其他人看到过从 Hibernate 3.6 到 4.x 的这种性能冲击?任何想法是什么原因造成的?

4

1 回答 1

0

你记录太多了吗?

因为这确实需要时间,所以如果你不登录,性能会更好。

我有一个只有一个日志调用的 servlet,根据 Firebug/Firefox,它在 1 毫秒内响应而不记录,2 毫秒只登录文件,3 毫秒登录文件和控制台。当我记录 955 次时为 1,270 毫秒!

那些记录的时间是多次尝试中最好的,但不是经常。另一方面,没有记录的 1ms 发生得更频繁。

于 2012-11-17T08:08:57.990 回答