• 设置 sql_audit 使用开关。
  • 设置 sql_audit 内存上限。默认内存上限为3G,可设置范围为 [64M,+∞]。
  • 机制启动间隔:

后台任务每隔 1s 会检测是否需要淘汰。

  • 当内存或记录数达到淘汰上限时触发淘汰;

  • sql_audit 内存最大可使用上限:

avail_mem_limit = min(OBServer可使用内存*10%, sql_audit_memory_limit);

  • 当avail_mem_limit 在[64M, 100M]时, 内存使用达到 avail_mem_limit - 20M 时触发淘汰;

  • 当avail_mem_limit 在[100M, 5G]时, 内存使用达到 availmem_limit*0.8 时触发淘汰;
  • 当avail_mem_limit 在 [5G, +∞]时, 内存使用达到 availmem_limit - 1G 时触发淘汰;

当sql_audidt记录数超过 900w 条记录时,触发淘汰。

  • 如果是达到内存上限触发淘汰则:

  • 当 avail_mem_limit 在 [64M, 100M] 时, 内存使用淘汰到 avail_mem_limit-40M 时停止淘汰;

  • 当 avail_mem_limit 在 [100M, 5G] 时, 内存使用淘汰到 availmem_limit*0.6 时停止淘汰;
  • 当 avail_mem_limit 在 [5G, +∞] 时, 内存使用淘汰到 availmem_limit-2G 时停止淘汰;

  • 如果是达到记录数上限触发的淘汰则淘汰到 800w 行记录时停止淘汰。