Für ein Newsletter-Mailing, etwa 50.000 Benutzer, mit Birne, ist es bequem, die Liste per Mail-Anbieter zu bestellen oder alles nach dem Zufallsprinzip?Best Practices - sollte ich Newsletter-Empfänger per E-Mail-Host bestellen oder nicht?
Antwort
Aus meinen Erfahrungen mit Exim, um große Mengen von E-Mails senden, Leistung wird schwer leiden, wenn Ihre E-Mail-Warteschlange zu groß wächst. Abhängig von Ihrer Hardware, sobald Sie etwa 10.000 E-Mails in der Warteschlange haben, werden Sie signifikante Auswirkungen der Bogosortierung sehen, wobei der Server mehr CPU verwendet, nur um die Warteschlange zu jonglieren, als tatsächlich irgendeine nützliche Arbeit erledigt zu bekommen.
Eine Möglichkeit, große Warteschlangen zu vermeiden, ist natürlich, die E-Mails so schnell und effizient wie möglich zuzustellen. Eine der vielen Möglichkeiten, dies zu erreichen, besteht darin, Exim dazu zu bringen, mehrere E-Mails über dieselbe TCP-Verbindung zuzustellen. Dies wiederum kann erreicht werden durch Sortieren der Empfänger nach Domäne, aber das ist nicht genug! Standardmäßig versucht Exim, jede empfangene E-Mail sofort zuzustellen, und dann wird jede Lieferung ihre eigene Verbindung öffnen (dies führt zu schnellen Lieferungen für sehr kleine Volumina, erhöht aber die Serverlast durch das Dach für größere Volumina). Sie müssen zuerst Spool die Mails zu Exim, und dann lassen Sie einen Warteschlangen-Runner die tatsächliche Lieferung behandeln, die dann automatisch alle anderen E-Mails in der Warteschlange sehen wird, die an den gleichen Host gehen und sie über die gleiche Verbindung liefern soll .
Die Optimierung von Exim zum Senden großer Mengen von E-Mails ist ein sehr komplexes Thema, das nicht mit ein paar magischen Tricks gelöst werden kann. Entscheidende Konfigurationsoptionen sind (aber nicht beschränkt auf): queue_only, queue_run_max, deliver_queue_load_max, remote_max_parallel, split_spool_directory
, aber auch eine schnelle Spool-Disk, genügend RAM, und dafür zu sorgen, dass Exim neue Warteschlangenläufer oft genug startet (Kommandozeilenoption beim Starten des Exim-Daemon).
Wie dies mit PEAR zusammenhängt entgeht mir, aber vielleicht gibt Ihnen das einige Ideen, wie Sie Ihr Problem angehen können.
Entschuldigung, wenn meine Antwort nicht nützlich war. Ich dachte, der Fragesteller sei an den Leistungsaspekten hinsichtlich der Sortierung der Empfänger bei Verwendung von Exim (getaggt) als MTA interessiert. Bestrafe keine gültige Antwort (wie sie interpretiert wird) auf eine schlecht formulierte Frage. – krisku
- 1. Best Practices: Sollte ich ng-switch dafür verwenden?
- 2. Best Practices: Wann sollte ich einen Delegaten in .NET verwenden?
- 3. C#: Best Practices Debug.Print
- 4. Exception Logger: Best Practices
- 5. Best Practices mit Code oder Lookup-Tabellen
- 6. Heartbeat-Protokolle/Algorithmen oder Best Practices
- 7. Materialisierte Ansichten - Best Practices
- 8. Best Practices für Datenbankanwendungen
- 9. Best Practices für Sharepoint
- 10. DataSet Best Practices?
- 11. Facebook Login Best Practices
- 12. DTOs: Best Practices
- 13. ODP.NET Code Beispiel Crite oder Best Practices
- 14. Best Practices: Getrennte oder einzelne Datenbanken?
- 15. linq2sql: Singleton oder verwenden, Best Practices
- 16. Javascript Best Practices
- 17. Microservices Versionierung Best Practices
- 18. Best Practices für nicht protokollierbare Konten
- 19. AngularJS Best Practices - Styleguide
- 20. Entwurfsmuster oder Best Practices für Shell-Skripts
- 21. Best Practices oder Tools für Ivy-Repositories?
- 22. SPL Autoloading Best Practices
- 23. iOS Prefix.pch Best Practices
- 24. JSON Design Best Practices
- 25. Solr Suche Best Practices
- 26. Benutzerdaten speichern Best Practices
- 27. JavaScript Best Practices
- 28. ReactJS - Komponenten - Best Practices
- 29. NoSQL-Best Practices
- 30. Flussdiagramme: Tools/Best Practices
1) Ist es bequem für was? Antwort auf diese Frage sollte in Ihrem Beitrag enthalten sein. 2) Sind Sie sicher, dass PEAR etwas mit E-Mails zu tun hat? AFAIK ist es PHP-Pakete Repository. – svgrafov