Kom ihåg mig?
Home Menu

Menu


Massutskick av E-post

 
Ämnesverktyg Visningsalternativ
Oläst 2005-05-04, 12:50 #11
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Det komemr inte gå fortare att skicka, men din web-app kommer vara "klar" fortare. mailen skickas ju sedan efter hand (då helst med låg prio på processen som gör detta för att inte sänka servern i övrigt).
Så total tid att skicka mailen blir dn samma, men användaren slipper uppleva det.
eg0master är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-04, 12:58 #12
StefanBergfeldts avatar
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2004
Inlägg: 1 535
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
StefanBergfeldts avatar
 
Reg.datum: Sep 2004
Inlägg: 1 535
Jag provade just att skriva textfiler, med information om vem som skulle ha mailet, och hur det skulle utformas. Detta tog lite över 2 minuter för 8000 mottagare...

Det är ju en klar förbättring, men fortfarande inte bra...
StefanBergfeldt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-04, 14:09 #13
heyday heyday är inte uppkopplad
Medlem
 
Reg.datum: Jun 2004
Inlägg: 60
heyday heyday är inte uppkopplad
Medlem
 
Reg.datum: Jun 2004
Inlägg: 60
För oss handlar det om att göra "rätt saker på rätt ställe".

Urvalet görs i webbapplikationen.

Vår javaapp och template-motor skapar mailen bra och snabbt.

Vår smtp server levererar mailen.

Att allt skulle göras i webbapplikationen skulle, för oss, inte vara optimalt.
heyday är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-04, 14:19 #14
Ejerhed Ejerhed är inte uppkopplad
Medlem
 
Reg.datum: Mar 2005
Inlägg: 169
Ejerhed Ejerhed är inte uppkopplad
Medlem
 
Reg.datum: Mar 2005
Inlägg: 169
Lånar denna tråden lite, känns dumt att skapa en ny när rätt folk redan är samlade här.

När man skriver ett eget script till en e-postlista, är det bara att köra med en vanlig accesdatabas och sedan loopa ett vanligt mailscript? Det kan inte uppstå några problem då?
Ejerhed är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-04, 16:11 #15
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Citat:
Originally posted by pereje@May 4 2005, 14:19
Lånar denna tråden lite, känns dumt att skapa en ny när rätt folk redan är samlade här.

När man skriver ett eget script till en e-postlista, är det bara att köra med en vanlig accesdatabas och sedan loopa ett vanligt mailscript? Det kan inte uppstå några problem då?
Det var den löjligaste ursäkt jag sett på länge. Skapa en egen tråd och jag hoppas en moderator raderar perejes och mitt inlägg (detta) som refererar till detta snarast.
eg0master är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-04, 16:16 #16
StefanBergfeldts avatar
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2004
Inlägg: 1 535
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
StefanBergfeldts avatar
 
Reg.datum: Sep 2004
Inlägg: 1 535
Hallå igen... Nu har jag gjort så att jag skapar en XML-fil med nödvändig information om samtliga mottagare. Är det någon som har ett lämpligt förslag på hur jag går vidare? Ska jag göra ett program i visual basic, som ligger och kollar efter filer, eller ska jag göra en asp-sida som kollar efter filer?
Tänkte sen också att jag skulle generera eml-filer och lägga dom direkt i kön på smtp-servern, eller är det bättre att jag använder CDONTS för att skicka?
StefanBergfeldt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-04, 16:18 #17
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Citat:
Originally posted by StefanBergfeldt@May 4 2005, 12:58
Jag provade just att skriva textfiler, med information om vem som skulle ha mailet, och hur det skulle utformas. Detta tog lite över 2 minuter för 8000 mottagare...

Det är ju en klar förbättring, men fortfarande inte bra...
heyday har ju en point i att göra rätt sak på rätt ställe. Om nu urvalet är så tungt att göra skall detta kanske göras någon annan stans. dvs, du behöver kanske ett flöde typ:
- webapp skapar ett mailutskick med parametrar
- ett annat program kollar efter mailutskick och skapar en kö med mail
- ännu ett program skickar mail från kön.

Som den trasiga skiva jag är tycker jag fortfarande att det låter mycket med 2minutyer för att öppna och skriva lite text i några filer.
har du lokaliserat att det verkligen bara är filskrivningen som ger fördröjningen (tidigare inlägg indikerar detta) då t.ex. ASP har stora problem med sträng concat prestandamässigt så kan en sådan sak sänka ett script utan att varken DB eller något annat tar tid.

Ärligt talat så är det lite svårt att säga exakt vad som skall göras utan att se koden i alla delar. Antingen så får du hyra in någon extern som kollar det du gjort (är ju lätt att bli hemmablind) och då skall du ha någon som är van vid att optimera webapplikationer. I andra hand måste du noga mäta exakt vilka operationer som tar lång tid och vilka som inte gör det så vi vet att vi kan utesluta saker som DB, ASP string concat etc.
eg0master är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-04, 16:23 #18
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Citat:
Originally posted by StefanBergfeldt@May 4 2005, 16:16
Hallå igen... Nu har jag gjort så att jag skapar en XML-fil med nödvändig information om samtliga mottagare. Är det någon som har ett lämpligt förslag på hur jag går vidare? Ska jag göra ett program i visual basic, som ligger och kollar efter filer, eller ska jag göra en asp-sida som kollar efter filer?
Tänkte sen också att jag skulle generera eml-filer och lägga dom direkt i kön på smtp-servern, eller är det bättre att jag använder CDONTS för att skicka?
Hoppsan, du han visst in emellan...
jag tror det är bättre att använa en komponent istf att skapa egna eml filer. Då minskar risken för att du skapar ett mail med fel format av misstag.
Och ja, skapa ett VB program. Som jag skrev tidigare tror jag det är enklast att du startar programmet med jämna mellanrum (säg var 5:e minut) och att programmet då kollar efter en fil och sedan behandlar den om den finns och sedan dör.
När programmet hittar filen kan den ju läsa in det den behöver och sedan ta bort filen så om den inte är klar efter 5 minuter så spelar det ingen roll, nästa instans kommer inte hitta filen.
naivt, men enkelt. Skapar du flera utskick samtidigt kommer således flera VB-program kunna köras samtidigt (startade med 5 minuters intervall) för att ta hand om ett utskick vardera.

Får du prestanda problem får du ställa ner prioriteten på skicka-processerna när de startas också, men det behövs nog inte.
eg0master är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-04, 16:27 #19
StefanBergfeldts avatar
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2004
Inlägg: 1 535
StefanBergfeldt StefanBergfeldt är inte uppkopplad
Bara ett inlägg till!
StefanBergfeldts avatar
 
Reg.datum: Sep 2004
Inlägg: 1 535
Citat:
Som den trasiga skiva jag är tycker jag fortfarande att det låter mycket med 2minutyer för att öppna och skriva lite text i några filer.
Inte några textfiler, 8000 textfiler. När jag istället skrev all info i samma textfil blev tidsåtgången istället ca 5 sekunder.

Det är därför jag nu har skapat en XML-fil av det hela. Första tanken var att göra eml-filer direkt, men eftersom detta tog lite tid, gör jag alltså En fil först. Utifrån denna täkner jag nu skicka mailet. Urvalet är nog bland det klumpigaste, men information ska hämtas om VAD kunderna har handlat, när, för hur mycket, hur ofta, och vart varorna levererats, och tiderna jag anger här är från tester på en separat testserver, som kör både webb och sql på samma. Dessutom är den rätt gammal.

SQL-uttrycket som tar så lång tid ser ut så här:
Citat:
SELECT DISTINCT email, firstname+' '+lastname FROM tb_shopper WHERE (registrationdate BETWEEN '1900/01/01' AND '5/4/2005' AND shopper_id IN (SELECT shopper_id FROM tb_order WHERE ordertype = 'GROCERY' AND orderstatus_id BETWEEN 2 AND 9 AND orderdate BETWEEN '1900/01/01' AND '5/4/2005' GROUP BY shopper_id HAVING Count(order_id) >= 1 AND Count(order_id) <= 9999) AND shopper_id IN (SELECT shopper_id FROM tb_order WHERE ordertype = 'GROCERY' AND orderstatus_id BETWEEN 2 AND 9 AND orderdate BETWEEN '1900/01/01' AND '5/4/2005' GROUP BY shopper_id HAVING Sum(totalprice/100) >= 0 AND Sum(totalprice/100) <= 999999) AND shopper_id IN (SELECT shopper_id FROM tb_shopper WHERE delpostcode BETWEEN '0' AND '99999') ) OR shopper_id IN (SELECT shopper_id FROM tb_order WHERE ordertype = 'EL') OR shopper_id IN (SELECT shopper_id FROM tb_order WHERE ordertype = 'TELE') OR shopper_id IN (SELECT shopper_id FROM tb_order WHERE ordertype = 'OIL') AND email IS NOT NULL AND email <> '' AND spam = 1 AND paymentmethod_id = 1
StefanBergfeldt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2005-05-04, 16:54 #20
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Citat:
Inte några textfiler, 8000 textfiler. När jag istället skrev all info i samma textfil blev tidsåtgången istället ca 5 sekunder.
Coolt. Var inte helt säker på att det verkligen skulle ta så lånmg tid att öppna&stänga 8000 filer, men det är ju trots allt drygt 60st/s så ja så är det väl.

Ang. ditt SQL uttryck (som enl. tidigare inlägg) tar 10s att exekvera. Jag har svårt att motstå en utmaning...
Du har många subselects och en hel del OR. ja sånt kan ta lite tid... Dessutom en massa onödiga strängjämförelser (varför envisas webfolk med att ha saker som "ordertype" som strängar och inte integers...)

men, men... Roten till det onda ligger nog i filskrivandet för även mailkomponenten lär ju skriva mail till fil för att köa upp dem i servern så ett progranm som i bakgrunden skickar mailen efter hand är nog vägen att gå.
eg0master är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 05:56.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017