什么会导致JPA本机插入查询的随机速度下降?

时间:2019-01-09 08:04:49

标签: postgresql jpa eclipselink jpa-2.1 jpa-2.2

我有一个NativeQuery,它复制大约1000行(选择和插入,其中某些列已更改)。

问题在于,executeUpdate有时(大约运行次数的1/3)需要50毫秒,而有时(运行次数的2/3)则需要1500毫秒。

同一查询在请求期间运行多次。通常,所有这些运行都是缓慢的或快速的。

所有请求均从相同的数据库状态开始(即,选择并插入了完全相同的记录)。目前,数据库和Tomcat都没有其他用户。有时它连续慢5倍,有时它连续快5倍,有时它慢,快,慢,快。

我尝试重新启动Tomcat和Postgres。重启后有时会很慢,有时会很快。我尝试在请求的开头添加System.gc(),但随机性仍然存在。

当我直接尝试同一查询(通过dBeaver / JDBC)时,它总是很快。

我的环境:

  • Tomcat 8.5.33
  • Eclipselink 2.6.4
  • PostgreSQL 9.6.11
  • Ubuntu 18.04

有什么想法可以调试这种情况吗?

0 个答案:

没有答案