10. august 2004 - 14:02Der er
14 kommentarer og 1 løsning
Filkopiering med tråde af mange filer.
Jeg skal ha' kopieret en mappe med en masse undermapper og ialt ca. 70.000 filer (samlet størrelse 300 MB) fra en server og over på en PC'er i forbindelse med en programinstallation. Der skal vises en indikator for processens forløb og brugeren må ikke kunne afbryde kopieringen. (En skjult tastekombination skal kunne afbryde kopieringen - evt. et password på Afbryd knappen) Hvis jeg bruger TSHFileOpStruct ta'r processen ca. 45 minutter. Jeg håber det kan gøres hurtigere med fx. tråde. Er der én der kan brygge noget hurtig kode sammen? Når programmet er færdigt skal det kaldes med parametre for source og destination og afsluttes med en errorcode.
Det vil næppe kører hurtigere med tråde, nettet og din server har nogle begrænsninger, og din locale HD den kan kun skrive en hvis mængde byte adgangen, så hjælper det ikke du har 100000 tråde der står og venter på at læse eller skrive
Når jeg kopierer i XP fra CD-rom drevet til harddisken ta'r kopieringen ca 30 minutter. Jeg har prøvet at zippe alle filer. Herefter ta'r kopieringen kun 5 minutter, men udpakningen ta'r 45 minutter :-) Jeg tror at flaskehalsen ligger i fil-antallet. Filernes størrelse er ca 4 KB hver.
Når jeg kopierer i XP fra CD-rom drevet til harddisken ta'r kopieringen ca 30 minutter. >> kunne tyde på at nettet er flaskehalsen, jeg ville prøve at lave nogle test, evt. starte et copy prog. flere gange og se om de hjælper, har du prøvet med flere dos-prompter og xcopy ??
>>martinlind Jeg vil prøve i morgen med en xcopy for hver af mapperne for at se, om det speeder processen op. Kopieringen kommer til at foregå på både 10 og 100 MB net. Nethastigheden er ikke noget problem hvilket tiden for kopieringen af alle filer samlet i én zip-fil beviser.
Det er helt klat ikke overførselshastigheden. Det er skrivningen til FAT'en (eller NT's tilsvarende - hedder vist noget andet, men er det samme), der tager tid. Uanset om det er gammel Win9x FAT skrivninger eller NT, så falder hastigheden drastisk når der kommer rigtig mange filer i et katalog, så dine 70.000 meget små filer er noget der dræber.
Er der komprimering i katalogerne hvortil du kopierer? Måske kan det måske speede operationen op. En anden ting er at slå indeksering fra (via folderens egenskaber/avanceret)
Trådene er ikke en fordel her: Forestil dig harddisken fise frem og tilbage over disken, skrivende een fil i ét katalog, stoppe halvejs og arbejde for en anden tråd, skifte til en tredie osv. Din disk dør! En enkelt process med en passende buffer bør være hurtigst. Hvis du kører SCSI kan det måske være en fordel med et par tråde pga. den intelligente diskcontroller.
Endelig så kan du jo bruge Symantecs Ghost til at kopiere hele partitionen over til en anden disk. Det vil tage ca. 3-5 minutter.
Filkopieringen skal bruges i forbindelse med automatisk udrulning af software på maskiner med NT og XP. De dårligste maskiner har en processor på 400 MHz og de fleste sidder på et 10 MB net. Jeg er af samme opfattelse som hrc, men havde håbet at der var en genvej ét eller andet sted.
som hrc skriver, så er tråde (i flertal) ikke ne fordel. Men en enkelt tråd kunne saktens hjælpe dig ...
TShFileopStruct er meget langsom til at tælle filstørelsen sammen ... Jeg kan godt skrive dig en dims der kopierer dine filer fra a til b, samtidig med den viser dig en status, du ved tid og mb tilbage.... Hvis det kunne have din interesse ?
nca: Du kan evt. selv hente en zipper hjem og lege lidt med den. Dynazip har jeg kun haft gode erfaringer med - og trial'en er fuldt funktionsdygtig idet de stoler på at man betaler hvis komponenterne bruges.
Du har bl.a. muligheden for at zippe til hukommelsen. Hvis du henter en liste af filer og deler dem op i klumper på 1000 filer, så tror jeg du kan vinde en del. Den største hurdle er nok stadig at skrive til filallokeringstabellerne dvs. udenfor vores rækkevidde.
Sådan en kan ikke være svær at skrive, men hvis Borrisholt har gang i et eller andet, så kan jeg næppe gøre det pænere.
Da borrisholt er stoppet, lukker jeg hermed spørgsmålet
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.