Beste Tweakers,
Ik zit wat te tubben over de juiste opstelling om voor verschillende klanten van ons nieuwsbrieven te gaan versturen. Allereerst, voordat ik het probleem uitleg, zal ik een situatie schets geven:
Op moment van schrijven heb ik 2 servers in gebruik die ondergebracht zijn bij onze hostingprovider:
1. Een dedicated mail server (VPS)
2. Een server waar de applicatie draait om nieuwsbrieven te versturen
De nieuwsbrieven applicatie (geschreven in PHP) maakt op moment van verzending een mysql verbinding met de VPS en pompt de bulk mail daar in een queue. Vervolgens draait op de VPS een Cronjob die er om de minuut een 100tal mailtjes uitgooit. Op zich werkt dit verder prima. De klant hoeft niet te wachten totdat de mailtjes zijn verzonden en de mail server wordt niet overbelast.
Nu mijn probleem:
Hypothetisch is het mogelijk dat 10 klanten 10.000 mailtjes versturen op exact hetzelfde moment. Het probleem is dat daardoor de queue aardig vol zit en diegene die het laaste op verzenden heeft gedrukt lang moet wachten voordat de mailing verstuurd is. Iemand met bijvoorbeeld "maar" 100 adressen zal lang moeten wachten als er eerst nog 90.000 andere mailtjes moeten worden verstuurd.
Mijn oplossingen:
1. Ik maak 2 queues of meer aan voor verschillende mailingen. Ik verdeel dus de mails over de verschillende queues
2. ik laat de cronjob zowel van bovenaf als onderaf records ophalen om te verzenden.
Toch voelt dit als "gekunstel" en heb ik niet het gevoel hier heel handig mee om te springen. Mijn vraag is dus:
Zijn er Tweakers die hier ervaringen mee hebben en mij misschien andere methoden kunnen aanbevelen of misschien zelfs een van de bovengenoemde oplossingen gebruiken?
Ik zit wat te tubben over de juiste opstelling om voor verschillende klanten van ons nieuwsbrieven te gaan versturen. Allereerst, voordat ik het probleem uitleg, zal ik een situatie schets geven:
Op moment van schrijven heb ik 2 servers in gebruik die ondergebracht zijn bij onze hostingprovider:
1. Een dedicated mail server (VPS)
2. Een server waar de applicatie draait om nieuwsbrieven te versturen
De nieuwsbrieven applicatie (geschreven in PHP) maakt op moment van verzending een mysql verbinding met de VPS en pompt de bulk mail daar in een queue. Vervolgens draait op de VPS een Cronjob die er om de minuut een 100tal mailtjes uitgooit. Op zich werkt dit verder prima. De klant hoeft niet te wachten totdat de mailtjes zijn verzonden en de mail server wordt niet overbelast.
Nu mijn probleem:
Hypothetisch is het mogelijk dat 10 klanten 10.000 mailtjes versturen op exact hetzelfde moment. Het probleem is dat daardoor de queue aardig vol zit en diegene die het laaste op verzenden heeft gedrukt lang moet wachten voordat de mailing verstuurd is. Iemand met bijvoorbeeld "maar" 100 adressen zal lang moeten wachten als er eerst nog 90.000 andere mailtjes moeten worden verstuurd.
Mijn oplossingen:
1. Ik maak 2 queues of meer aan voor verschillende mailingen. Ik verdeel dus de mails over de verschillende queues
2. ik laat de cronjob zowel van bovenaf als onderaf records ophalen om te verzenden.
Toch voelt dit als "gekunstel" en heb ik niet het gevoel hier heel handig mee om te springen. Mijn vraag is dus:
Zijn er Tweakers die hier ervaringen mee hebben en mij misschien andere methoden kunnen aanbevelen of misschien zelfs een van de bovengenoemde oplossingen gebruiken?
Zoek je mede papa's om gezellig mee te gamen? kijk op: fathersoftweakers.nl