Windows large file copy problem

By Andrei Ungureanu - Last updated: Tuesday, March 6, 2012 - Save & Share - Leave a Comment

Ca sa iesim putin din nebunia Windows 8 m-am gandit sa readuc la suprafata o problema veche de-a Windows-ului dar pe care personal recunosc ca nu am observat-o decat recent. Si anume comportamentul sistemului de operare atunci cand copiezi fisiere foarte mari peste retea.

Windows-ul are tendinta sa faca “buffered copy” adica sa duca in cache cat mai mult din sistemul copiat pentru a imbunatati viitoarele accesari catre respectivul fisier. Dar atunci cand copiezi un fisier ce e mai mare decat RAM-ul serverului tau atunci ai o problema. Operatiunea de copiere va sufoca pur si simplu sistemul acaparand tot RAM-ul si golind system cache-ul de alte lucruri ce poate ca stateau bine in cache. Imagineaza-ti ca te loghezi pe un host Hyper-V si incerci sa copiezi un VHD pe un alt server, iar VHD-urile nu sunt mici deloc. Sau ca te loghezi pe un server SQL si vrei sa copiezi o baza de date in alta parte.

La un moment dat gasisem un KB ce explica acest comportament, in genul “e by default, live with it” insa spre rusinea mea nu il mai gasesc acum. Solutia era sa folosesti XCOPY /J (unbuffered copy), si se pare ca asta ar fi singura. De fapt mai e una dar e cam trasa de par si o sa o zic mai jos.

image

Surprinzator am gasit o explicatie pe blog-ul celor de la AskPerf plus inca o “solutie” insa m-a umflat rasul. Solutia ar fi sa folosesti ESEUTIL ca sa copiezi fisiere mari. LOL.

http://blogs.technet.com/b/askperf/archive/2007/05/08/slow-large-file-copy-issues.aspx

http://blogs.msdn.com/b/granth/archive/2010/05/10/how-to-copy-very-large-files-across-a-slow-or-unreliable-network.aspx

PS: pentru ce e mai jos de 2008 R2 puteti arunca un ochi si pe DynCache.

Posted in Windows Server • Tags: , , Top Of Page

Write a comment