使用 JFR 时应用程序 TPS 下降

Application TPS getting dropped while taking JFR

我的 Springboot 应用程序设计为支持 500 tps。 应用程序连续提供 500 TPS,但是当我们使用以下命令获取 JFR 时,应用程序 TPS 正在下降到不到 100。

JFR 命令:

/opt/drutt/local/jdk1.8.0_112/bin/jcmd JFR.start settings=profile duration=1m filename=/tmp/my_file_1.jfr

JFR命令有问题吗? JFR 是否导致性能下降?

配置文件设置可能会在某些应用程序中产生大量开销,通常是由于 TLAB 分配事件(或可能的异常),不建议在生产环境中始终启用。

删除 settings=profile 并使用默认配置,这在生产中是安全的(< 1% 开销)