gpt4 book ai didi

MySQL INSERT 在 Ubuntu 上逐渐变慢,但在 Windows 上却没有

转载 作者:行者123 更新时间:2023-11-29 01:05:02 25 4
gpt4 key购买 nike

我尝试在 Glassfish 3.0.1 中使用 JPA 在 MySQL 5.1 中插入 360 万条记录。我在一个单独的 EJB 业务方法调用中完成,所以我相信它是在一个单独的 SQL 事务中完成的。我疯了吗? :-)

由于使用了同一个 EntityManager 实例,业务方法必须每 3000 条记录调用 em.flush() 和 em.clear(),否则 em 会堵塞。 (我尝试了各种值,这似乎对我来说是最佳的)。

这在我的测试和开发平台(四核机器上的 WinXP)上运行得非常好。每 100000 次 em.persist() 需要 24-28 秒,整个操作需要 15 分钟。

但是在我们的生产机器上,在虚拟化 x86_64 机器上使用 Ubuntu 10,每 100000 次 em.persist() 会逐渐变慢。第一个需要 40 秒,然后是 70、77、89、121、130、126、163、201、247 秒。服务器应用程序最终完全挂起。

MySQL:5.1.47-社区 MySQL 社区服务器 (GPL) (Windows),5.1.41-3ubuntu12.6 (Ubuntu)

我不明白为什么(几乎)相同的软件在行为上有如此根本的不同。有什么想法吗?

最佳答案

15分钟,真慢。你在使用交易吗?如果不是,你应该是。如果您正在使用事务,您提交的频率是多少,您应该相当定期地提交,但不要太频繁。

关于MySQL INSERT 在 Ubuntu 上逐渐变慢,但在 Windows 上却没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4244649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com