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

Rest man Klaymen

Medlem
  • Antal inlägg

    782
  • Gick med

  • Senaste besök

Allt postat av Rest man Klaymen

  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.
  16. Hej! Jag har sedan länge ett ASP.NET script skrivet i VB.NET som hämtar en bildfil, skalar om den och skickar till klienten med System.Drawing.Image.Save(Response.OutputStream) Detta script anropar jag sedan helt enkelt genom att skriva adressen till aspx-filen som src i mina <img>-taggar på olika ställen på sidan. Nu till problemet: Resten av sidan har varit gjord i klassisk asp, och nu håller jag på att konvertera detta till ASP.NET (äntligen) och C#. Problemet är att sedan jag började med det arbetet har mitt bildskickarscript (som fortfarande är samma script som innan) blivit extremt långsamt. Det tar minst 3-4 gånger så lång tid för servern att skicka en bild som tidigare. Detta trots att sidan har ungefär lika mycket trafik som förut (och i princip ingen trafik på de .NET-konverterade sidorna eftersom de enbart besöks av mig själv). I övrigt har jag inte ändrat något i serverns inställningar eller så. Det är en dedikerad server. Kan det vara så att de klasser och objekt jag skapat i .NET-miljön påverkar mina gamla script trots att de inte använder sig av dessa alls? En sak som jag misstänker kan vara boven, är att jag gjort en klass "Database" som är abstrakt och håller reda på databaskopplingen. Alla mina databasanrop (utom i bildskickarscripten) sker sedan genom den statiska metoden CreateDR(string sql) som returnerar en DataReader mha sql-satsen i parametern. Är det dålig design att göra Database abstrakt, borde jag hellre låta varje aspx-sida skapa ett nytt Database-objekt och använda det för att ansluta till databasen? Vore guld värt om någon visste vad som pågår, jag har kört timertest men vet inte riktigt varför det går långsammare nu när jag inte ändrat på själva scripten.
  17. Detta tolkar jag som att det är tillåtet att ladda ner från APB i mitt exempel, eller tolkar jag knasigt?
  18. "Varför det?" Därför att RX därmed har tillåtit att filen sprids via ett fildelningsnätverk, och gett APB tillåtelse att sprida den. Nu är jag ingen upphovsrättsexpert men vad jag förstått så är det lagligt att ladda ner filer från någon som har upphovsrättsinnehavarens tillåtelse att ladda upp den.
  19. Det är en intressant fråga det här. För om tex APB har fått fullmakt av Rättighetshavare "RX" att ladda upp filen "RX's verk", så borde det rimligtvis även medföra att man ger rätt åt alla som APB gör filen tillgänglig till att ladda ner den. Alltså kan inte APB samla in några bevis om kränkande av rättigheter, eftersom det enda de kan se är att man laddar ner filen från dem. De vet inte om man samtidigt laddar ner filen någon annanstans ifrån. Liknande resonemang borde hålla för nedladdning också. Eller kan man ge rätt åt APB att ladda upp en fil, medan det fortfarande är olagligt för APB's leechers att ladda ner från dem? Det låter underligt tycker jag.
  20. Det är min teori också. Dock så skiftar värdet något, +/- ett par, tre grader. Fast det kanske kan hända med oanslutna sensoradresser vad vet jag.
  21. Mjo, för all del. Fast lådan är så tight packad så det är rätt jobbigt att öppna, antar att jag bara är lat och vill ha en snabb lösning Men jag får ta fram skruvmejseln! Om det visar sig att den är tokhet... vad gör jag då?
  22. Temp på GPU står inte i bios. HWmonitor säger samma som Speedfan, för tillfället 85 grader...
  23. Ja, misstänkte också att det är nåt vajsing med hur speedfan läser sensorn. Ska testa att pilla med inställningarna, fast hur vet jag när jag "träffat rätt"? Ingen som vet ett temp-program som visar korrekt temp på sybryggan på MA78GM-S2H?
  24. Jag har köpt ett Gigabyte GA-MA78-S2H (rev 1.1 tror jag) och använder som HTPC. Funkar mycket bra, men en sak stör mig. Speedfan rapporterar "Temp 3" som mycket varm, dvs över 90 grader, ibland nära 95. Då kortet har integrerad grafik (Radeon HD 3200) gissar jag att det är sybryggan och den integrerade grafikkretsen som avses med "Temp 3". Alla andra temperaturer håller sig någorlunda normala, dock en aning höga men det är acceptabelt med tanke på att lådan är väldigt liten och luftflödet inte optimalt. Men över 90 grader känns överdrivet varmt för ett kort som inte är särskilt högpresterande, och speciellt när det inte är under last, jag uppmätte till exempel 93 grader nyss när enbart skrivbordet visades. Jag har även kollat i Everest men den rapporterar bara "Moderkort" på ca 45-50 grader, och ingenstans visar den över 90 grader. I övrigt stämmer Everests värden med Speedfans. Jag har nu även sänkt klockfrekvensen på GPU i BIOS till 200MHz från tidigare 500, men det har inte förbättrat saken, utan om möjligt faktiskt höjt temperaturen. Nu undrar jag, vad kan jag göra (förutom att sätta på en fläkt eller heatsink eller liknande) för att få ner temperaturen? Behöver jag få ner den? Kan det vara en sensor som är knasig bara (Lådan känns inte särskilt varm på utsidan, men det är rätt jobbigt att skruva isär den så jag har inte känt på sydbryggans kylfläns än). Vad tror ni?
  25. Aha trevligt. Det finns risk att jag överger linux för tinyXP eller nåt, bara för att jag är mer van att confa sånt, burken ska ju ha en massa olika funktioner och så. Men då har jag iaf gett linux en chans. Sen ska jag se om jag kan tanka MS Home Server gratis från MSDNAA kanske. Tror inte jag kommer betala för det i varje fall.
×
×
  • Skapa nytt...