E-posta bildirimleri gönderme çevreleyen performans iyileştirme için öneriler?

4 Cevap php

Bu çalışan çok başka bir şey ile bir test sunucusu üzerinde hemen bir e-posta göndermek için kod çalıştırmak için benim app Birkaç saniye sürer. Bu tipik / beklenen olup olmadığından emin değil. Ben de bu konularda kolaylık üzerinden doğrudan posta php php framework Kohana e-posta yardımcı kullanarak ve değilim. Bu e-postalar her 5 dakika ya da öylesine göndermek için bir cron işi planlamak için her zaman sadece iyi mi? Yoksa hemen e-postalar göndermek gerekir ve ben sadece doğru bir şey yapmıyorum?

Ne komut yapar db bir satır eklemek ve satır oluşturulan ilgili grubu bildirir. Bu gruplar genellikle < 20 kişi bu yüzden sadece Kohana e-posta helper grubun her üyesi için her zaman çağıran bir döngü yapmak.

4 Cevap

Burada Kohana yardımcısı implentation, ama emin değil php doc bunu söyler:

Note: It is worth noting that the mail() function is not suitable for larger volumes of email in a loop. This function opens and closes an SMTP socket for each email, which is not very efficient. For the sending of large amounts of email, see the » PEAR::Mail, and » PEAR::Mail_Queue packages.

http://swiftmailer.org/ mükemmel ve güvenilir bir mailler olduğunu. Belki alternatif bir yaklaşım doğru cevaptır.

Bir şey daha az yirmi kullanıcı grupları için, bu hızlı olmalı, doğru değil. > 100 yavaş işlem süresini toplamak istiyorum.

Sunucu kurulumu içine bak. Veya, IMAP fonksiyonlarını kullanın ...

Hızlı çözüm için gearman temelde Gearman kuyruğuna e-posta göndermek isteği göndermek içine bakmak ve Gearman arka planda komut dosyası e-posta kısmını tamamlar ederken yazısının kalan çalıştırabilirsiniz