大佬们,请教一下关于 JDK-8075484 这个 bug 的问题

查看 22|回复 0
作者:Lighfer   
背景
近期用户的生产环境下遇到一个很神奇的问题,并发数起来( 7 个 pod ,1000 并发)访问就会很慢,同一个接口有时候 300 多 ms ,有时候七八秒,数据库(华为 GaussDB ,基于 PG )。
用 arthas 跟了一下,发现慢在 org.postgresql.core.PGStream.receiveChar(),即使是一条简单的select 'x'有时候都能执行一两秒。
数据库那边反馈是 SQL 执行都很快,网络也排查过没问题(华为驻场工程师排查)。
疑问
然后从psjdbc项目找到下面这个 issue
里面有人提到 JDK-8075484
和我们遇到的问题比较能对上,jstack 看到了最终都是卡在at java.net.SocketInputStream.socketRead0
但是网上查到的关于 jdk 这个 bug 说的都是直接卡,我们遇到的情况是偶尔慢,但不会卡住不返回
求助
找了一天多了没有其他思路来排查这个问题了,想请教以下两个问题:
[ol]
  • JDK-8075484 这个 bug 是否有老哥遇到过是慢而不是卡住?
  • 各位老哥有什么思路可以继续排查吗?
    [/ol]
    环境信息
    系统:华为欧拉
    CPU:32 核 aarch64 ,生产环境 CPU 压力很小
    内存:64G
    网络:万兆
    压测时 vmstat 可以看到 in 和 cs 都在 4w~6w ,pidstat 可以看到都是我们的服务线程产生的
    为什么不直接换 JDK 验证
    因为客户的生产环境用的华为平台,我们是上传 jar 吧,平台自动成容器镜像运行,华为的驻场工程师明确说了改不到 jdk 的版本。
    https://i.imgur.com/Z4l37Go.jpg
    https://i.imgur.com/tYdUjym.jpg
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部