2017-07-26 43 views
0

我們正在使用Sendy將電子郵件新聞稿發送到450,000個大型電子郵件訂閱者列表。我們使用帶有4GB內存的Amazon t2.Medium實例,並且我們的電子郵件發送速率爲每秒6次。我們已經更新了我們的php.ini和.htaccess設置,以允許不受限制的max_execution_time並將我們的memory_limit增加到4000MB。但是,儘管採取了這些防範措施,我們的服務器仍然在一夜之間超時使用「Sendy」將電子郵件新聞稿發送到大型訂閱者列表時發生服務器超時

[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時超時將非常感激!

回答

0

我在t2.small實例上運行Sendy時沒有任何問題。但是,當我的列表開始超過> 50k的用戶時,需要一個用於發送和導入csv列表的cronjob。這是很容易設置這樣的:

sudo crontab -e

然後做出檢查sendings每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時,默認配置沒有超時限制。

相關問題