我有一个客户,他每周都会给大约 3,000 名收件人发送一份简报。根据他们使用的模板,简报大约使用 50-100 张图片制作而成(考虑到简报的设计,我承认这种模板的效率非常低)。
然而直到最近,发送导致他们的 Web 服务器变得无响应,因为它是单个 Web 服务器处理静态资产和 PHP 的请求,导致 Web 服务器耗尽 Apache 子进程,无法足够快地提供服务。发送后立即测量 Web 服务器,我们观察到以下情况:
- 采样时间约15分钟
- 每秒持续超过 300 个请求(绝大多数是静态资产,很少有网站访问者)
- 峰值约为每秒 800 个请求
- 约 100 条已录制的新闻通讯浏览量
- 记录了约 50 次新闻通讯点击(大多数点击进入网站本身)
我们暂时用一个专门用于提供静态资产的辅助 Web 服务器解决了这个问题,该服务器的 Apache 配置更加精简。这样一来,网站本身几乎不会退缩,就可以发送新闻稿。
我们的困惑在于,为什么静态资产请求数量激增,却与新闻通讯的浏览量和点击量不匹配?其他人是否也遇到过这种情况?还有其他方法可以处理这种流量吗?我认为减少静态资产数量和单独的静态资产 Web 服务器应该可以解决大部分问题,但我真的很想解释这种现象。
谢谢您的任何建议!
答案1
约 100 条已录制的新闻通讯浏览量
那是如何记录的呢?我会通过在新闻稿中嵌入不可缓存的图像来计算浏览量 - 但显然这里不是这种情况。您当然不能依赖 SMTP DSN 或 javascript。
但是我仍然希望一些“查看器”将是恶意软件扫描程序和压缩代理(您应该能够从源 IP/用户代理中确定)。
(顺便说一句,错开电子邮件递送或使用 CDN 而不是实施新服务器不是更便宜吗?)