På ett ställe i admin för min site så flyttar jag filer från en mapp till en annan Siten är inte skarp. samma antal som jag testar med lokalt med andra ord... tja, har du inte *egen* server, så är det ju antagligen en hel del andra siter som ligger på samma server också, och som också vill accessera disk... Så du menar att det är normalt att få 20 ggr långsammare diskaccess på ett webhotell än sin utvecklingsburk? Knappast normalt, men i ditt förra inlägg kan man tolka det som att du anser att att det ska vara samma hastighet på webhotellet som på din testburk eftersom det inte är fler besökare på DIN site på hotellet. Det är enbart jpeg bilder som kopieras från en mapp till en annan. Som sagts innan. Har jag tolkat det rätt att du gör såhär? Varför jag gjorde som jag gjorde var för att inkaplsa implementationen inom interfacet. Låt oss säga att kunden om några veckor skaffar en till bildbyrå som partner. Deras filer kanske inte ligger lokalt utan är en adress på nätet etc. Det beror på webbhotellet. Långsam diskaccess på webhotell
PÅ min lokala IIS (XP pro) så går det fort som attans
Men på webhotellet (skarpa sidan) går det segt som bara den. Supporten vet inte vad det beror på
Kan man begränsa .net applikationens diskaccess fart via IIS eller på annat sätt? Sv:Långsam diskaccess på webhotell
Sv: Långsam diskaccess på webhotell
Sv:Långsam diskaccess på webhotell
Sv: Långsam diskaccess på webhotell
Det finns säkert många saker som kan spela in, varav en vesäntlig sak är belastningen på servern. Virusskydd kanske kan ställa till det också.
Sedan kan det vara intressant att veta hur mycket filer du flyttar och hur stora de är. Hur lång tid tar det på din burk och hur lång tid tar det på hotellet? Vilken teknik använder du för att flytta filer?
Skulle även vara intressant att veta hur servern är konfigurerad, om filerna sparas på lokal disk eller på ett share t.ex.
/JohanSv:Långsam diskaccess på webhotell
I ursprungsmappen ligger de rakt upp och ner medans jag kopierar dem till unika mappar i målmappen. Jag använder IPTC headern i varje bild för att avgöra i vilken mapp den ska ligga.
Eftersom kunden i framtiden kan ha olika typer av bildbyråer at jag skapat ett interface som returnera en IList med en Photo class. Photoclassen innehåller en byte[] som jag populerar med FileStream-classen i IO namespacet. Det är även upp till implementationen att ta bort sina bilder från sin folder när den är klar då det är enbart den som vet var den letar efter bilder (kan vara från internet etc). I detta fallet ligger de i en mapp lokalt då Bildbyrån skickar in bilderna med ftp. Så efter att alla bilder är inlästa i byte arreyer så tar jag bort bilderna med File.Delete
Sedan i klassen som itterer igenom alla bildnerladdare (finns bara en just nu)
Så tittar denna klass igenom alla Listor och skapar foldrar beroende på vilken information som finns i photo klassen (Photo.Title, Photo.Caption, etc). Den använder oxo FileStream för att spara ner bilden på disk i rätt katalog.
Normalt sätt brukar det vara runt 20-30 bilder på 1 - 1,5 mb styck som kopieras till 3-5 foldrar.
Detta tar cirka 0,5-1,5 sekunder på min utvecklingsburk (iof en vattenkyld C2D med raptordisk) och runt 10-15 (!) sekunder på webhotellet...Sv: Långsam diskaccess på webhotell
Om din site ligger på en delad server så delar du på resurser med alla andra där. Det innebär att det kanske är 100 tals andra siter som använder minne / processor / disk och du får snällt dela med dem om du inte köper dedikerad server från dem.Sv: Långsam diskaccess på webhotell
1. Läser in alla bilder i varsin byte-array?
2. Raderar orginalfilerna.
3. Sparar ner bilderna från sina byte-arrayer.
Känns onödigt minneskrävande. Har du testat att låta bildfilerna ligga kvar på disk och flytta filerna istället? På så vis slipper du lagra alla bilder i minnet samtidigt. Jag känner inte till hur IPTC-informationen lagras, men man kanske inte behöver läsa in hela filen för att få fram det? Har ingen aning om detta kommer påverka tidsåtgången, men testar man inte så får man inte reda på det :)
/JohanSv:Långsam diskaccess på webhotell
Detta var det snyggaste sättet rent polymorfiskt.. Men visst kanske drar lite mer minne (men cachar inte IO metoder för att flytta en bild filen oxo?).
Ska dock kolla upp hur många fler som ligger på den server som jag ligger på , det lät dock på webhotelelt som de inte alls kunde fatta vad de beroende på. Om det berodde på överbelastad server borde de ju känna till det?Sv: Långsam diskaccess på webhotell
Vi använder surftown för vår klubb. Inte många hästar hemma på supporten där.
Vad gäller din lösning.
Du behöver inte läsa upp det till en bytearray bara för att storage av filen är olika. Det kan du dölja med ditt interface ganska enkelt.
Sen förstår jag inte varför du krånglar till ngt för att kunden "kanske i framtiden" har ett scenario. Det känns som onödigt jobb. När väl kunden har det där scenariot, så kanske det inte ser ens nästan ut som du tänkt dig och då har du gjort jobbet i onödan. Precis som du gjort om kunden aldrig ställs inför det scenariot.