[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

MTA's, message queue's en vertraging tijdens verzending





Inleiding:

Voor zenders en ontvangers van email met grote hoeveelheden data in de bijlagen is het van belang om te weten wat de relatie is tussen de lengte van een bericht en de tijdsduur die voor verzending van een bericht nodig is. De vertraging tijdens dde verwerking door een MSA of een MTA vormt meestal de snelheidsbepalende stap (of de bottleneck) tijdens het transport van zender naar ontvanger.

Message queue:

Als de message queue van een MTA altijd leeg is, dan bestaat er een eenvoudig lineair verband tussen verwerkingstijd T en de lengte L van een bericht, zoals weergegeven wordt door:

T = c1 * L

waarin c1 een constante verwerkingssnelheid is.

In de praktijk is de message queue van een MTA zelden leeg. Berichten worden door een scheduler, via een combinatie van prioritization en onderlinge concurrentie, geselecteerd voor een positie in de message queue.

Als de statistische verdeling van de lengte van de verzonden berichten constant en vlak is, dan wordt de relatie tussen verwerkingstijd en de lengte van een bericht bij benadering gegeven door:

T = c0 + c1 * L + c2 * L^2 + c3 * L^3 + ...

De verwerkingsduur wordt bepaald door de lengte van een bericht en de waarden van c0, c1, c2, c3, ... De verwerkingsduur is vooral afhankelijk van de manier waarop een scheduler van de MTA de berichten in de message queue ordent. De langste berichten lopen onevenredig veel vertraging op tijdens de verwerking omdat de termen van hogere orde bij langere berichten overheersen. Dat effect wordt versterkt als de MTA zwaar belast wordt.

Bulkmail:

In de praktijk is er geen vlakke of constante statistische verdeling van de lengtes van de berichten. De grootste hoeveelheid data wordt via zogenaamde "targeted bulkmail", voor reclame doeleinden, door mailservers getransporteerd. De verdeling varieert met de lengte van de berichten en deze verdelingen kunnen bovendien variëren met de tijd. Een statistisch model van bulkmail met een Gaussverdeling als functie van de lengte van de berichten kan weergegeven worden met:

N(L,t) = N0(t) * exp(-(L - L0)^2 / S0)

waarin L0 de lengte van de meest talrijke berichten is, N0(t) het gemiddelde aanbod op een bepaald tijdstip en S0 de breedte van de statistische verdeling. Verreweg de meeste berichten hebben een lengte die ligt tussen

Lk = L0 - 2 * S0

en

Ll = L0 + 2 * S0

Om optimaal te functioneren zal een mailserver zo geconfigureerd en gedimensioneerd worden dat de server het gemiddelde aanbod zo snel mogelijk kan verwerken. Daarbij zal de sterkste concurrentie om een gunstige positie in de message queue optreden tussen berichten met een lengte in de buurt van het gemiddelde L0.

Lengte van berichten:

Korte berichten met een lengte L << Lk worden altijd met de maximale snelheid verwerkt. Op drukke momenten kan de verwerking van berichten met een lengte L > Ll sterk vertraagd worden. Tijdens "daluren", zoals 's nachts of in het weekend, loopt de verwerking van lange berichten meestal minder vertraging op.

Het grootste volume van data die met email verstuurd wordt zit in de bijlagen van bulkmail. De snelheid van de verwerking van berichten hangt dus groot deel af van de lengte van een bericht in verhouding tot de gemiddelde grootte van de bulkmail. Als het volume van de bijlagen aanzienlijk kleiner is dan de gemiddelde grootte van bulkmail, dan verloopt de verwerking relatief snel.

Conclusie:

Voor het verzenden van grote hoeveelheden gegevens via email kan het voordelig zijn om door prioritization de verzending te versnellen.

Als alternatief kunnen grote bestanden in delen verstuurd worden om het vertragingseffect te reduceren. In het geval dat een bericht een verzameling losse delen bevat, is het raadzaam om de verzameling in deelverzamelingen op te delen. De grootte van de deelverzamelingen kan onder de limiet gehouden worden waarbij vertraging begint op te treden.

Om grote hoeveelheden data in delen via email uit te wisselen, kan door verzenders en de ontvangers software gebruikt worden die voor dat doel ontwikkeld is.

Ik weet niet of er al gebruiksvriendelijke open source software bestaat waarmee je via email grote (hoeveelheden) bestanden op de snelste manier met elkaar kunt uitwisselen.

Links:

https://en.wikipedia.org/wiki/Bulk_email_software
http://www.webtrafficmarketing.com/
http://blog.deliverability.com/2011/03/as-demands-for-digital-messaging-grow-more-complex-the-need-for-feature-rich-and-sophisticated-email-infrastructure-becomes.html

Groeten,
Jan-Rens.


Reply to: