[xuxueli/xxl-job]关于job-admin 拖垮数据库

2024-05-15 222 views
6

雪大大你好, 最近接了您的xxl-job admin单独搞了台2核4G的RDS 发现好多次cpu多飙到100 第一个问题是 xxl_job_qrtz_trigger_log 这个表 数据量上160w之后,一个count(1) 要2s

第二个问题是 数据库表没有索引导致慢查询拖垮 是否考虑表的索引优化呢?现在手动加了个索引: 加了 xxl_job_qrtz_trigger_log 的 handle_code (SELECT count(1) FROM XXL_JOB_QRTZ_TRIGGER_LOG AS t WHERE t.handle_code = 200) ps: 看起来索引加了,没有提升多少速度,估计区分度不高,还是很慢。

我看这个sql调的很频繁, SELECT count(1) FROM XXL_JOB_QRTZ_TRIGGER_LOG AS t WHERE t.handle_code = 200 有时候一个查询都要1s

我现在的处理方式就是删log,除了这个方案还有什么其他的优化手段呢? 之前log 160w的时候rds cpu占用率100% 直接宕了 现在已经删过了log 60w,cpu占用率80%几

image 数据库压力一直很大

回答

9

你好,这个问题在版本 v1.9.2 已经做了优化,通过表索引。可以参考该版本建表SQL做优化调整。

7

建议升级 v1.9.2 及以上,百万级别日志慢SQL大幅度优化,耗时可以降低 1000 倍。

7

我的版本就是1.9.2 我希望雪大大能仔细看我问题。 我看最近的commit 索引优化不就加了一个 xxl_job_qrtz_trigger_log 的 trigger_code吗 我之前已经加了没用 cpu还是很高,数据量100多w的时候 数据库cpu常年90%几

1

我自己的解决方式,是手动删除记录,这样日志就少了。。然后就会快很多,保留一个月内的记录。我用的1.9.0 然后给表加了索引,速度还是不是很理想。并且在web后台删除日志的时候,我看SQL执行的是看时间删除的,这样导致删除也很慢,我的解决方式是手动查出日期ID,然后手动按ID进行删除,不知道在后续版本优化了没有。

4

干脆搞个定时任务,定时清除日志

6

大家好! 最新版本已经支持的调度中心日志表自动清理功能,可以升级体验下。

4

大家好! 最新版本已经支持的调度中心日志表自动清理功能,可以升级体验下。

2.0.2版本 2千万的日志 登录需要12分钟 咋优化?