Seite 1 von 1

Verfasst: 06.02.2009, 14:24
von mirko
Hallo,

das Script-Limit muss man erstmal so nicht beachten, das Script setzt fort, falls es abgebrochen wird. Natürlich sollte man es nicht übertreiben, denn die Ausführung der Scripte beim E-Mail-Versand erzeugt Serverlast. Lässt man zu viele E-Mails auf einmal versenden, egal ob PHP mail() oder SMTP-Server, dann kann es sein, dass der Server \"steht\". Es kann damit niemand mehr die Seite aufrufen bzw. es geht nur ganz \"zäh\", während der E-Mail-Versand läuft.

Die Vorgabewerte sind beim Versand von Newslettern, bereite 250 E-Mails vor und schick diese danach. Das kann natürlich schon zu viel sein, wenn der Server einem nicht alleine gehört bzw. man nur ein Stückchen besitzt.

Um den E-Mail-Versand langsamer oder schneller zu bekommen, je nach dem was man will und was der Server bringt, kann man 3 Werte anpassen.

1. Wert
Bei jedem E-Mailing wird nach \"Anzahl E-Mails, die auf einmal für den Versand vorbereitet bzw. beim Live-E-Mail-Versand versendet werden sollen\" gefragt. Verringert man den Wert, dann werden während eines CronJob-Script-Laufs weniger E-Mails vorbereitet, die danach vom CronJob-Script versendet werden.

z.B. gibt man 1 an und das Script für die Vorbereitung der E-Mailings und den Versand selbst wird 1x pro Minute ausgeführt, dann wird er 1 E-Mail pro Minute versenden.

2. Wert
Menü Einstellungen, Menüeintrag Einstellungen, Registerkarte E-Mail-Versand gibt es den Wert \"Anzahl zu versendende E-Mails\". Das Script schaut in seiner Tabelle nach ob etwas zum Versand in der Tabelle liegt. Liegt etwas in der Tabelle, wird er die angegebene \"Anzahl zu versendende E-Mails\" versenden.
Man kann damit z.B. bei einem E-Mailing sagen, bereite 1000 Stück vor aber versende nur 20.

3. Wert
Unter Menü Einstellungen - Geplante Aufgabe sind für jede Aufgabe die Zeitintervalle angegeben.

\"Prüfung auf anstehende E-Mailings\"

Schaut nach ob E-Mailings noch nicht versendet worden sind. Sind welche offen, werden die E-Mails für jedes E-Mailing vorbereitet. Es wirkt in diesem Fall der Wert \"Anzahl E-Mails, die auf einmal für den Versand vorbereitet bzw. beim Live-E-Mail-Versand versendet werden sollen\" (1. Wert).

\"Prüfung auf zu versendende E-Mails\"

Schaut in der Tabelle nach ob E-Mails vorbereitet sind und sendet diese raus. Es werden dabei nur so viele E-Mails gesendet, wie in den Einstellungen \"Anzahl zu versendende E-Mails\" angegeben worden ist (2. Wert).

Erhöht man den Zeitintervall für die Aufgaben, wird automatisch der E-Mail-Versand langsamer und die Auslastung des Servers sinkt.



Ich habe das hier nur für den Versand von E-Mailings per CronJob-Script beschrieben. Wenn natürlich noch ein Geburtstags-Responder oder Follow-Up-Responder ebenfalls E-Mails versenden muss, dann kommen diese E-Mails immer noch mitten drin mit dazu. Die definierten Limits werden dabei natürlich trotzdem eingehalten, der Versand des E-Mailings dauert dann natürlich automatisch länger.


Lässt man ein E-Mailing direkt live im Browser versenden, dann wirkt nur das Limit \"Anzahl E-Mails, die auf einmal für den Versand vorbereitet bzw. beim Live-E-Mail-Versand versendet werden sollen\" für das jeweilige E-Mailing. Wobei SuperWebMailer dann die Zeit im Hintergrund pro E-Mail berechnet und so versucht ein Script-Timeout zu vermeiden. Sollte es doch mal nicht mit der Berechnung klappen, dann muss man auf die Schaltfläche klicken, damit es weiter geht. Verwendet man den Internet Explorer, dann kann der Klick auf die Schaltfläche entfallen, weil der Internet Explorer ein Ereignis hat, woran man erkennen kann, ob die Seite fertig geladen worden ist. Per JavaScript wird dann der Klick auf die Schaltfläche simuliert, so dass es weiter geht.

Verfasst: 06.02.2009, 13:35
von Dirk67
Hallo,
ich frage mich gerade, was wohl die erforderlichen PHP-Script-Limits sind, wenn man die PHP-function \"mail()\" benutzen möchte ?
(z.B. für 1000 Adressaten)

Ich habe derzeit nur einen shared server
mit folgender/n Ausstattung & Limits:

Server API: Apache 2.0 Handler
register_globals: OFF
SafeMode: OFF

CPU-Time: 6 sek.
max_execution_time: 30 sek.
memory_limit: 65 MB
upload_max_filesize: 200 MB
post_max_size: 200 MB


--------

Sind die Ressourcen evtl. nicht so kritisch, wenn man einen externen Postausgangsserver (SMTP Server) benutzt ?