我认为负载过重的主要问题并非由垃圾邮件发送者引起。
理由如下:
正常的 Discourse 使用(不通过 API)必须依赖现代浏览器,因为它高度依赖 JavaScript。Google Analytics 同样使用 JavaScript 来收集各种用户信息(而且运行分析代码并不需要现代 JavaScript 支持)。如果 Google Analytics 无法检测到用户活动,那么 Discourse 理应也无法提供其内容和功能。
以下是我使用旧版无头浏览器库(phantomjs)访问 Discourse 站点时的机器人捕获结果:
而使用更现代的库(puppeteer)的结果如下:
- 如果有人能够在不使用 API 的情况下在 Discourse 上发布回复,而 Google Analytics 却无法检测到他们,这实在令人费解。
- 通常,垃圾邮件发送者会使用公开代理进行恶意操作,而我认为您的 Cloudflare 足够智能,能够在这些“不良访客”真正触及您的应用之前就将其拦截。
您是否观察到 Sidekiq 进程中有大量排队任务?

