listmonk 管理后台统计页加载很慢怎么办:开启慢查询缓存并配置 crontab 周期
listmonk 管理后台统计页加载很慢怎么办开启慢查询缓存并配置 crontab 周期【免费下载链接】listmonkHigh performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app.项目地址: https://gitcode.com/GitHub_Trending/li/listmonklistmonk 的依赖只有一个 Postgres 数据库但当数据库里积累了几百万订阅者、大量活动浏览和点击记录后需要实时在数据库里做计数和聚合的页面会变得非常慢——官方文档明确说在数据量达到百万级时加载这些管理页面可能需要几十秒。受影响的主要是这三处落地 Dashboard 上的聚合计数、统计和图表Lists 页面每个列表旁边的订阅者数量Subscribers 页面的订阅者总数。这类安装下每次打开管理面板都去实时取精确数字基本没有必要。listmonk 提供的解决方式就是官方文档 performance.md 里的“Slow query caching”把这些数字改为周期性计算并缓存从而获得“massive performance boost”。适用条件只有大数据库才需要开启设置项的帮助文案写得很明确Only enable this on large databases that have slowed down significantly. Caches list subscriber counts, dashboard statistics etc.也就是说这是给“大数据库已经显著变慢”的情况准备的。小数据量的安装开启后只会让统计数字不再实时没有必要。判断方法就是文档描述的现象上面列出的页面不再秒开而是明显卡顿或加载很久。操作步骤在 Settings → Performance 页面开启缓存登录 listmonk 管理后台进入Settings - Performance页面对应前端页面 performance.vue。打开Cache slow database queries开关设置键app.cache_slow_queries。该开关默认是关闭的默认值定义在 schema.sql 和迁移文件 v3.0.0.go 中均为false。在开关旁边的 cron 输入框中配置刷新周期设置键app.cache_slow_queries_interval输入框为标准的 crontab 表达式默认值为0 3 * * *即每天凌晨 3 点刷新一次。文档建议使用 crontab.guru 一类的工具来生成想要的 cron 表达式。注意这个输入框在开关关闭时是禁用的必须先把开关打开。保存设置。保存后无需重启服务。服务启动时读取这两个配置并注册定时任务见 init.go如果app.cache_slow_queries为truelistmonk 会按app.cache_slow_queries_interval的 crontab 表达式创建定时任务到期时调用RefreshMatViews刷新物化视图即“refreshing slow query cache”。因此如果服务已经在运行改完设置后按文档的方式重启一次服务使 cron 任务重新注册即可。如何确认已生效界面提示开启后Dashboard 和 Lists 页面会显示一条灰色说明文字“Slow queries are being cached. Some numbers on this page will not be up-to-date.”慢查询正在被缓存本页部分数字不是实时的。这是最直接的生效标志对应 Dashboard.vue 和 Lists.vue 中根据app.cache_slow_queries条件渲染的提示。服务日志cron 任务注册成功时日志会输出IMPORTANT: database slow query caching is enabled. Aggregate numbers and stats will not be realtime. Next refresh at: 时间其中给出了下次刷新时间可以据此核对 cron 表达式是否符合预期。开启后的效果Lists、Subscribers 页面的订阅者计数以及 Dashboard 统计不再每次访问都实时查库而是读取上次定时刷新缓存的结果页面加载速度大幅提升代价是这些数字最多滞后一个刷新周期所以周期设得过长会牺牲数字的及时程度可按需要调整。限制与可选的辅助优化这是缓存而非实时统计官方帮助文案提示只在数据库确实大且明显变慢时开启对实时数字有依赖的场景应保持默认关闭。数据库本身持续膨胀时文档另外建议定期例如每周一次对大 Postgres 库执行VACUUM ANALYZE可以回收磁盘空间并提升查询性能。注意这是阻塞操作在大库上执行期间所有数据库查询可能停顿通常只有几秒。listmonk 也内置了对应的 vacuum 定时任务配置maintenance.db.vacuum/maintenance.db.vacuum_cron_interval见 init.go可在 Maintenance 设置中按同样方式配置。如果 cron 表达式配置无效日志会输出error: invalid cron interval string for slow query cache此时缓存任务不会注册需要修正表达式后重试。【免费下载链接】listmonkHigh performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app.项目地址: https://gitcode.com/GitHub_Trending/li/listmonk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

如何使用 authentik Flow Inspector 查看流程上下文并排查流程执行问题

如何使用 authentik Flow Inspector 查看流程上下文并排查流程执行问题

如何使用 authentik Flow Inspector 查看流程上下文并排查流程执行问题 【免费下载链接】authentik The authentication glue you need. 项目地址: https://gitcode.com/GitHub_Trending/au/authentik 当你在 authentik 中配置了自定义 Flow 后,可能会遇到这…

2026/9/13 18:06:26 阅读更多 →
PythonRobotics 如何用 LQR 控制小车保持倒立摆平衡

PythonRobotics 如何用 LQR 控制小车保持倒立摆平衡

PythonRobotics 如何用 LQR 控制小车保持倒立摆平衡 【免费下载链接】PythonRobotics Python sample codes and textbook for robotics algorithms. 项目地址: https://gitcode.com/GitHub_Trending/py/PythonRobotics 这篇文章解决一个具体任务:在 PythonRo…

2026/9/13 18:06:26 阅读更多 →
Atmosphère 定制固件架构解析:Nintendo Switch 多层组件体系与实现原理

Atmosphère 定制固件架构解析:Nintendo Switch 多层组件体系与实现原理

Atmosphre 定制固件架构解析:Nintendo Switch 多层组件体系与实现原理 【免费下载链接】Atmosphere Atmosphre is a work-in-progress customized firmware for the Nintendo Switch. 项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere Atmosphr…

2026/9/13 18:06:26 阅读更多 →

最新新闻

如何用 client_connected Reducer 拒绝 SpacetimeDB 的指定客户端连接

如何用 client_connected Reducer 拒绝 SpacetimeDB 的指定客户端连接

如何用 client_connected Reducer 拒绝 SpacetimeDB 的指定客户端连接 【免费下载链接】SpacetimeDB Development at the speed of light 项目地址: https://gitcode.com/GitHub_Trending/sp/SpacetimeDB SpacetimeDB 的模块对外网暴露,任何客户端都能尝试连…

2026/9/13 18:54:48 阅读更多 →
Compose for Web 事件处理详解:从 attrs 事件监听器到 addEventListener 的完整机制

Compose for Web 事件处理详解:从 attrs 事件监听器到 addEventListener 的完整机制

Compose for Web 事件处理详解:从 attrs 事件监听器到 addEventListener 的完整机制 【免费下载链接】compose-multiplatform Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and en…

2026/9/13 18:54:48 阅读更多 →
Beekeeper Studio 连接 Redis 完全指南:ACL 认证、TLS/SSH 与 ReJSON 支持

Beekeeper Studio 连接 Redis 完全指南:ACL 认证、TLS/SSH 与 ReJSON 支持

Beekeeper Studio 连接 Redis 完全指南:ACL 认证、TLS/SSH 与 ReJSON 支持 【免费下载链接】beekeeper-studio Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows. 项目地址: https://gitcode.co…

2026/9/13 18:54:48 阅读更多 →
PMSM电机FOC控制全解析:从坐标变换到无感调试

PMSM电机FOC控制全解析:从坐标变换到无感调试

FOC在圈里被吹得神乎其神,但也确实劝退了很多人。早几年我刚开始碰PMSM无感控制的时候,光看那堆坐标变换的公式推导就想摔键盘。后来真正把代码跑起来、把波形调出来,回头看才发现,FOC没有那么玄乎,但也绝不是一个晚上…

2026/9/13 18:54:48 阅读更多 →
小体积高扭矩电机驱动:通用MCU与硅MOS方案的优化和取舍

小体积高扭矩电机驱动:通用MCU与硅MOS方案的优化和取舍

做电机驱动的朋友应该都碰到过类似的问题:明明方案也是FOC、也是MCU加MOS管,凭什么别人家的板子又小扭矩又大,自己的板子要么很大,要么一猛起就发烫?早几年我折腾无人机电调、电动工具和机器人关节的时候,被…

2026/9/13 18:54:48 阅读更多 →
基于YOLOv8的网球场识别系统:数据集、训练与部署实战

基于YOLOv8的网球场识别系统:数据集、训练与部署实战

简介:面向计算机视觉方向毕业设计或课程设计,提供一套基于YOLOv8的网球场识别系统,功能完整、简单部署即可运行,尤其适合深度学习、目标检测相关专业学生作为毕设或课设基础。资源共97个文件,以70个Python脚本和12个py…

2026/9/13 18:53:48 阅读更多 →

日新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/13 16:51:11 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/12 18:29:34 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/12 19:02:44 阅读更多 →