0

我们正在使用 Sendy 向我们拥有 450,000 名的庞大电子邮件订阅者列表发送电子邮件通讯。我们正在使用具有 4GB 内存的 Amazon t2.Medium 实例,我们的电子邮件发送率为每秒 6 封。我们已经更新了我们的 php.ini 和 .htaccess 设置以允许无限制的 max_execution_time 并将我们的 memory_limit 增加到 4000MB。然而,尽管采取了这些预防措施,我们的服务器仍然会在一夜之间超时。

[Wed Jul 26 05:06:27.190171 2017] [mpm_prefork:error] [pid 31182] (12)Cannot allocate memory: AH00159: fork: Unable to fork new process

这仅仅是需要增加我们的 EC2 实例大小的问题吗?还是我们错过了什么?创建一个 cron 作业是否有助于抵消由于内存耗尽而导致的超时?您可以为我们提供的任何帮助以更好地配置我们的服务器设置以防止在使用 Sendy 时服务器超时,我们将不胜感激!

4

1 回答 1

0

我在 t2.small 实例上运行 Sendy 没有任何问题。但是,当我的列表开始超过 50k 订阅者时,非常需要用于发送和导入 csv 列表的 cronjob。像这样设置很容易:

sudo crontab -e

然后创建一个每 5 分钟检查一次发送的 cronjob:

*/5 * * * * php /<sendy installation path>/scheduled.php > /dev/null 2>&1

此外,如果您有很大的列表,我强烈建议您也有一个 cronjob:

*/1 * * * * php /<sendy installation path>/import-csv.php > /dev/null 2>&1

另外值得注意的是,在 CLI 模式下运行 PHP 时,默认配置没有超时限制。

于 2017-08-07T09:22:16.860 回答