Just nu i M3-nätverket
Gå till innehåll

Rest man Klaymen

Medlem
  • Antal inlägg

    782
  • Gick med

  • Senaste besök

Om Rest man Klaymen

  • Medlemstitel
    Flitig

Kontaktinformation

  • Hemsida
    http://www.kjpoker.com

Profil

  • Ort
    Staden
  1. AH, jag tror jag hittat felet. Det hade inget med trådar att göra. Det var bara för att jag gick ifrån System.Web.Mail till System.Net.Mail utan att inse att MailAddress kastar en exception om adressen är ogiltig. En exception som jag inte fångade eftersom min förra kod bara petade in en string med adresser. SÅ: en try-catche runt mail.To.Add() fixade biffen!
  2. Kommenterar jag bort raden mail.To.Add(new MailAddress(m.RecipientEmail)); så rullar tråden vidare, men med den raden kvar startar applikationen om efter ca 20 varv. Finns det en bugg eller använder jag denna metod fel? Den kanske inte är trådsäker?
  3. Till saken hör att siten är hostad i en shared environment där jag inte har möjlighet att köra några services eller batchprogram. Tråd är förstås ändå inte den enda möjligheten men den kändes enklast.
  4. Hej! Jag har en tråd som startar vid Application_start och dör vid Application_end. Det den ska göra är att kolla i en kö med e-mail som ska skickas. När en användare använder en "skicka mail"-funktion läggs meddelandet (inklusive avsändare och mottagare) in i kön och bör på så sätt fångas upp av tråden. På ett ställe i applikationen läggs flera tusen mail in i kön. Jag har också en sida där jag kan se hur stor kön är. Problemet är att tråden bara rullar ca 20 varv innan hela applikationen dör och kön töms. Jag kan se på sidan att köns storlek minskar, men efter någon minut förfaller alla sessioner och köns längd blir 0. Här är koden: private static void ProcessQueue() { bool processing = false; SmtpClient client = new SmtpClient("localhost", 25); while (true) { //om kön är tom ska den vänta 10s if (_messages.Count > 0) { //töm felmeddelandena om kön precis fyllts if (!processing) { _error = ""; processing = true; } //hämta mail från kön _messages MailMessage m; lock (_messages) { m = _messages.Dequeue(); } //kod som förbereder mail System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(); mail.IsBodyHtml = true; mail.BodyEncoding = Encoding.UTF8; mail.Headers.Add("Return-Path", "<bounce@3tjejer.se>"); mail.From = new MailAddress(m.SenderEmail); mail.To.Add(new MailAddress(m.RecipientEmail)); mail.Subject = m.Subject; mail.Body = "<html>\n<head>\n</head>\n<body>\n"; mail.Body += "<div style=\"width:500px;border:1px solid black;padding:25px;\">\n"; mail.Body += m.Body + "</div>\n</body>\n</html>"; //mail förberett /* try { client.Send(mail); } catch(Exception ex) { _error += m.RecipientEmail + "=" + ex.Message + ", "; } */ mail.Dispose(); //wait before sending the next mail Thread.Sleep(1000); } else { processing = false; //if queue is empty, wait 10 seconds before checking again Thread.Sleep(10000); } } } Kommenterar jag bort koden som förbereder mailet så fungerar det bättre. Kan det vara en minnesläcka någonstans? Som ni ser har jag kommenterat bort själva skickningen av mailet, men det fungerar ändå inte. Någon som ser vad som kan vara fel?
  5. Ingen som vet? Jag har vänt och vridit på detta utan att hitta något svar. Det verkar som att UNION-frågor är de som är mest känsliga.
  6. Hmm, jo det stämmer nog. Men frågan är hur samma kod kan exekveras så olika i samma databas på två olika plattformar? Och vad jag gör åt det...
  7. Jag bytte precis motor på alla tabeller till MyISAM och nu går det mycket fortare. Det är dock ett par komplicerade ihopsatta (union) frågor som tar ett par sekunder, vilket de inte gjorde innan flytten. Någon som vet vad det är för skillnader i defaultinställningar för mysql på linux vs windows?
  8. Hej! Jag flyttade precis en ASP.NET applikation från en linuxmaskin (med Mono och MySQL) till en windowsmaskin (2008 R2) som kör .NET 3.5 och MySQL 5.1. Problemet är att applikationen blivit otroligt långsam, trots att den nya servern är bra mycket snabbare rent hårdvarumässigt. Jag har isolerat problemet till databasrequests som ibland tar uppåt 5 sekunder att exekvera, beroende på hur de ser ut. När de exekverar tar Mysql upp mellan 25% och 100% av CPU, jag gissar att det är beroende på hur många kärnor den använder av de fyra tillgängliga. Här är ett exempel som tar fem sekunder på nya maskinen och bara några millisekunder på den gamla: SELECT DISTINCT(LEFT(accountname,1)) firstchar FROM accounts WHERE ( id IN(SELECT account2 FROM friends WHERE account1 = 12 AND status = 1) OR id IN(SELECT account1 FROM friends WHERE account2 = 12 AND status = 1) ) ORDER BY firstchar Är det någon som vet vad som pågår och hur jag motverkar detta? Jag har försökt att bygga upp nya index på de aktuella fälten i tabellerna. Tabellen kör InnoDB. Mycket tacksam för hjälp!
  9. Hej! Jag har konverterat ett projekt till att köra på Mono (2.0) men framför allt koden för att hämta bilder från hårddisk, skala om dem och skicka till output går mycket långsammare än förut när jag körde projektet på MS.NET. Här är koden: System.Drawing.Image fullSizeImg = System.Drawing.Image.FromStream(new FileStream(filePath, FileMode.Open, FileAccess.Read), true, false); int size = 100; int origWidth = fullSizeImg.Width; int origHeight = fullSizeImg.Height; Bitmap returnImg = new Bitmap(fullSizeImg, Convert.ToInt32(origWidth * ((float)size / (float)origHeight)), size); Graphics oGraphics = Graphics.FromImage(returnImg); oGraphics.DrawImage(fullSizeImg, 0, 0, Convert.ToInt32(origWidth * ((float)size / (float)origHeight)), size); oGraphics.Dispose(); returnImg.Save(Response.OutputStream, ImageFormar.Jpeg); Det är första raden, dvs att hämta bilden från disk, som tar längst tid (uppåt 0.5s för stora bilder). Detta gick många gånger snabbare på innan jag portade. Jag kör på Ubuntu 9.04, därför har jag inte senaste versionen av Mono. Är det någon som vet om senaste versionen är snabbare på just detta (jag har kollat release notes men inte hittat något), eller om det finns något knep jag kan använda för att öka hastigheten? Det är varken servern eller disken som är långsam, med PHP går samma operation mycket snabbare. Ett bonusproblem: att få till schysst bildkvalitet genom att manipulera ImageQuality eller AntiAliasing verkar heller inte ge några resultat alls. Nån som vet vad det kan bero på? Tacksam för svar! / RMK Jobbiga_färger.
  10. Jag löste det på egen hand. Tricket var att registrera min usercontrol högst upp på min aspx-sida, då kompileras den och jag kan använda dess namespace och klass. <%@ Register Src="/Underkatalog/Usercontrol.ascx" TagPrefix="Kontroller" TagName="Usercontrol" %>
  11. Hej! Jag bygger en webbapplikation som ska kompileras vid körning, dvs jag använder CodeFile="sida.aspx.cs" i min aspx-sidor och kompilerar ej innan jag laddar upp till servern. Det fungerar utmärkt, behöver ej ha några dll-filer på server för att sidorna ska servas. Mitt problem är dock att jag har ett gäng kontroller som jag vill lägga i en underkatalog till roten. Dessa ligger i ett undernamespace också, etc "Applikation.Kontroller", medan sidan som ska ladda dem ligger i "Applikation". Även dessa använder CodeFile och ska kompileras vid runtime. Problemet är att servern ju inte kompilerar filer som inte ligger under App_Code, därför kan mina sidor under "Applikation" inte hitta namespace "Applikation.Kontroller" (de är ju inte kompilerade). Och web-kontroller får ju inte ligga i App_Code. Hoppas det går att förstå vad jag menar. Finns det något sätt att gå runt detta utan att behöva förkompilera alla klasser innan jag laddar upp? Tack på förhand.
  12. Hejsan! Fick precis problem med mitt hemmabygge. Sedan ett par dagar har datorn varit svårtstartad, ibland startade den inte när jag tryckte på strömbrytaren, fick trycka flera gånger för att snurra igång den. Igår kväll startade den inte alls. Jag misstänkte fel på nätaggregatet, eftersom det verkade som att datorn ville starta upp men tappade kraft efter ett tag. Datorn är alltså inte helt död, utan dör några sekunder efter uppstart. Jag misstänker nätagget bland annat för att jag försökte trycka ejekt på den optiska enheten vilket gjorde att datorn dog direkt. Det låter också som att den försöker spinna upp hårdiskarna men lyckas inte riktigt. Jag får inga varningspip eller liknande och skärmen får ingen signal. Jag har försökt koppla in ett "nytt" nätaggregat men detta har tyvärr ingen anslutning för PCIE, och jag har inget inbyggt grafikkort i moderkortet. Så när jag startar utan ström till grafikkortet får jag bara ett jättelångt pip, och inget mer händer. Moderkortet har en anslutning som heter PCIE_12V där jag kan koppla in en strömanslutning för hårddisk (4 pinnar), men även då får jag det långa pipet bara. Startar jag datorn utan grafikkort i verkar den starta OK (med det "nya" nätaggregatet), men jag kan ju inte veta säkert eftersom jag inte kan få ut någon bild. Jag ska försöka skaffa en översättare för IDE-strömanslutning till den 6-pinniga kontakten jag har på grafikkortet, men tänkte fråga om någon haft liknande problem. Är det troligt att det är nätaggregatet som gett upp? Det är inte särskilt gammalt (2-3 år). Moderkortet är lite nyare än så. Moderkort: Gigabyte GA-M57SLI-S4 Nätaggregat (det misstänkt trasiga): Zalman ZM600-HP (600W) Nätaggregat (som jag försöker koppla in): Ace AL8500-BTX (480W) Grafikkort: Nvidia 8800GTS 320MB EDIT: Jag kollade på mitt gamla nätaggregat och den levererar tydligen 15-16A på 12V-linan, lika mycket som mitt gamla nätaggregat. Men tydligen finns det något som heter "Power sharing", dvs att 12V-linorna hjälper varandra om någon inte klarar trycket. Kan det vara så att mitt gamla nätagg hade "power sharing" och mitt nya inte har det, så därför klarar inte 12V-linan av att driva grafikkortet? Visst finns det adaptrar där jag kan koppla in 2 st IDE-strömkablar till en 6-pinnig PCIE-kontakt. Kan jag få ut dubbla effekten då? [inlägget ändrat 2009-04-27 13:02:32 av Rest man Klaymen - www.piratpartiet.se]
  13. Hmm, jag tog bort Global.asax och nu verkar det gå fortare. Inte renderingsmässigt (samma tider på timern) men varje request tycks gå mycket snabbare. Detta är iofs inte så konstigt då jag hade en massa tomma metoder i den, bland annat "Application_BeginRequest" Någon som kan bekräfta att metoderna i Global.asax (även om de är tomma) slöar ner request-tiden?
  14. Har lagt in Dispose() på ett par objekt som jag hade missat det på. Det gjorde ingen skillnad. Har också provat att ta bort all kod i App_Code-mappen, men utan resultat.
  15. VPN-tjänster innebär att trafiken går via en krypterad tunnel från din dator till en server, och därifrån ut på internet. Alla svar går tillbaka samma väg, så ingen kan se din IP-adress utan ser bara adressen till servern i fråga. Enda sättet att få tag på din IP är att kolla loggarna i VPN-servern. Beroende på vilket land tjänsten är baserad så måste de följa eventuella domstolsbeslut och liknande, vilket innebär att myndigheter kan få ut din IP förutsatt att: - Servern faktiskt loggar (Ipredator till exempel ska ju inte logga något alls säger de) - Det finns en lag (i landet där tjänsten är baserad) som kräver att tjänstleverantören lämnar ut uppgifterna vid vissa brott - Du är misstänkt för ett sådant brott Vad jag förstått (jag är ingen jurist) är upphovsrättsbrott inte tillräckligt grovt för att kräva att VPN-leverantörer lämnar ut loggar i Sverige, dessutom är många VPN-tjänster baserade utomlands så andra lagar gäller där. Kort sagt kan du känna dig ganska säker mot IPRED om du använder en VPN-tjänst.
×
×
  • Skapa nytt...