Post by mwilliams on Apr 17, 2007 3:03:14 GMT -5
Hi,
I'm trying to use vclzip to do really really large backups. At the mopment I am trying to get it to back up approx 550,000 files with a size of 20GB. A few questions:
1 Am I barking up the wrong tree?
2 What is the best way to do this. I started by building a comprehensive list of the files to backup in the vclZip FilesList object. With 550,000 files and their paths this was obviously some list to be sotring in memory. I basically had problems (though I can't specifically remember what now) and so I switched things around so that I now write the files one at a time to a filestream and then when I have built the list, I read them into the fileslist object in blocks (currently) of 10,000 at a time, zip them and continue. The filestream works file and the list gets built but when I come to zipping the application always hangs before it gets to the 1 GB point (although where it actually hangs is random).
3 Am I going about this the right way? Would it be better to build a list of the directories only to FilesList and let vclZip expand them when it needs to. Doing it this way, after it has compressed the directory, will FilesList dispose of the files listed for that directory or do they remain in memory until the whole zip job is completed.
I should say that I don't think the in memory stringslist is a problem as there is plenty of ram to spare on the server machine on which I am trying to run this utility. However, the application ram usage jumps by about 30MB when it has built the list, so I think it would generally be a good idea to reduce this.
Thanks
Mark
I'm trying to use vclzip to do really really large backups. At the mopment I am trying to get it to back up approx 550,000 files with a size of 20GB. A few questions:
1 Am I barking up the wrong tree?
2 What is the best way to do this. I started by building a comprehensive list of the files to backup in the vclZip FilesList object. With 550,000 files and their paths this was obviously some list to be sotring in memory. I basically had problems (though I can't specifically remember what now) and so I switched things around so that I now write the files one at a time to a filestream and then when I have built the list, I read them into the fileslist object in blocks (currently) of 10,000 at a time, zip them and continue. The filestream works file and the list gets built but when I come to zipping the application always hangs before it gets to the 1 GB point (although where it actually hangs is random).
3 Am I going about this the right way? Would it be better to build a list of the directories only to FilesList and let vclZip expand them when it needs to. Doing it this way, after it has compressed the directory, will FilesList dispose of the files listed for that directory or do they remain in memory until the whole zip job is completed.
I should say that I don't think the in memory stringslist is a problem as there is plenty of ram to spare on the server machine on which I am trying to run this utility. However, the application ram usage jumps by about 30MB when it has built the list, so I think it would generally be a good idea to reduce this.
Thanks
Mark