AspGerman Wiki

Was bringt Mail Queueing?

Geändert: 13/01/2008 12:00 PM von admin - Kategorisiert als: FAQ, Mail
Ein einfaches Mailformular schickt Emails an einige wenige Benutzer (Webmaster, Kunde, Kundendienst zum Beispiel), Massenmailings im Gegensatz dazu versenden Emails an zB mehrere hundert Benutzer. Implementiert man das Massenmailing in einer ASP Datei mit AspMail (von ServerObjects), dann werden Emails synchron verschickt - die Komponente "redet" während der Ausführung des Send Befehls direkt mit dem Mail Server. Für viele Emails kann das schon einige Minuten dauern.

Wieso ist das ein Nachteil? Dazu muß man sich die Architektur des IIS vor Augen führen: es existiert ein sogenannter Threadpool, der die Anfragen der Benutzer bearbeitet - pro Anfrage (ASP Seite) ein Thread. Solange eine Anfrage bearbeitet wird, ist der Thread beschäftigt und kann keine weiteren Anfragen bearbeiten. Starten viele Benutzer lange Anfragen, wird der Pool schnell "leer" und keine weiteren Benutzer können bedient werden. (Der Pool hat eine fixe Größe und wächst nicht mit der Anzahl der Benutzer!)

Ein Szenario für langdauernde Operationen ist zum Beispiel auch Dateiupload, wo ein Thread sehr lange gesperrt ist. In diesem Fall sollte man ja auch die Anzahl der Threads erhöhen, damit man die "ausgefallenen" Threads verschmerzen kann. Sonst entsteht der Eindruck, daß der Server überlastet ist, obwohl die Prozessorauslastung vielleicht bei mickrigen 5 Prozent ist.

Wie kann man die Geschwindigkeit beim Emailversand erhöhen? Mit Mail Queueing, zB AspQMail von ServerObjects, das als Zusatzservice von AspMail programmiert ist. Dieser Zusatzservice erlaubt es AspMail, eine Email einfach auf die Festplatte zu speichern, von wo sie der Service später (bei niedriger Auslastung des Servers) abholt und verschickt. Damit steigt die Ausführungsgeschwindigkeit der ASP Seite, und die Threads werden auch nicht lange belegt, was dazu führt, daß der Server schneller ist.

Auf der gleichen Basis des Queueing funktioniert der SMTP Service des Option Packs mit den Collaboration Data Objects. Allerdings ist der SMTP Service nur für Windows NT Server verfügbar, AspQMail funktioniert auf allen Plattformen.

ScrewTurn Wiki version 2.0.33. Some of the icons created by FamFamFam.