I asked about this a while back. It seems that this problem is getting much worse. The problem/issue: there is a very long delay when my system does a write to the filesystem. The delay now is over 5 minutes (yes: minutes). This only happens on the first write after booting up the system, and only for large files - 1GB or more. This can be a serious problem since all access to any hard disk is blocked and will hang until the first write begins again. The prevailing thought at the time was this was associated with loading into memory the directory information looking for free space, which I would believe now. The filesystem in question is 7.5TB, with about 4TB used. There are over 250,000 files. I also have another system with 1TB total and 400GB used, with 65,000 files. This system, the smaller one, is beginning to show delays as well, although only a few seconds. This problem seems to involve several factors: the total size of the system; the current "fragmentation" of that system; and finally the amount of physical memory available. As to the last factor, the 7.5TB system has only 2GB of memory (I didn't think that it would need a lot since it is mostly being used as a file server). The "fragmentation" factor (I am only guessing here) occurs with having many files written and deleted over time. So my questions are: is there a solution or work around for this; and is this a bug, or perhaps an undesirable feature. If the latter, should this be reported (somewhere)? Any suggestions, tips, etc. greatly appreciated. TIA ken -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://listman.redhat.com/archives/ext3-users/attachments/20140117/e2c3528f/attachment.htm>
On Jan 17, 2014, at 9:32, Ken Bass <daytooner at gmail.com> wrote:> > The problem/issue: there is a very long delay when my system does a write to the filesystem. The delay now is over 5 minutes (yes: minutes). This only happens on the first write after booting up the system, and only for large files - 1GB or more. This can be a serious problem since all access to any hard disk is blocked and will hang until the first write begins again. > > The prevailing thought at the time was this was associated with loading into memory the directory information looking for free space, which I would believe now.It isn't actually directory information that is being loaded, but rather the block bitmaps from each group, and each one needs a seek to read. This will take up to 7.5 TB / 128 MB/group / 100 seeks/sec = 600s if the filesystem is nearly full. After this point, the bitmaps are cached In memory and allocation is faster.> The filesystem in question is 7.5TB, with about 4TB used. There are over 250,000 files. I also have another system with 1TB total and 400GB used, with 65,000 files. This system, the smaller one, is beginning to show delays as well, although only a few seconds. > > This problem seems to involve several factors: the total size of the system; the current "fragmentation" of that system; and finally the amount of physical memory available. > > As to the last factor, the 7.5TB system has only 2GB of memory (I didn't think that it would need a lot since it is mostly being used as a file server). The "fragmentation" factor (I am only guessing here) occurs with having many files written and deleted over time. > > So my questions are: is there a solution or work around for this; and is this a bug, or perhaps an undesirable feature. If the latter, should this be reported (somewhere)?You might consider mounting the filesystem as ext4 instead of ext3. It will do a slightly better job of finding contiguous free space and avoid loading bitmaps that do not have enough space, but the physics of seeking to read bitmaps is still the same. If you format a new filesystem as ext4 (as opposed to just mounting the existing filesystem as ext4) you can use a new feature "flex_bg" that locates the block and inode bitmaps together so that they can be read without so much seeking. You'd need a spare disk to format and copy the data over to. Using ext4 is also more resistant to fragmentation over time. Cheers, Andreas> Any suggestions, tips, etc. greatly appreciated. > > TIA > > ken > > _______________________________________________ > Ext3-users mailing list > Ext3-users at redhat.com > https://www.redhat.com/mailman/listinfo/ext3-users
Thx Andreas. re: block bitmaps - yes that is what I really meant. My experience with filesystems is mainly from CPM/BDOS, where "directory" and block mapping are essentially synonymous. And now I understand about the timing. Makes sense when you describe it that way. My system is ext4, although I doubt that I used "flex_bg" option, since this was first created awhile back. I did try to run e4defrag. It simply said that no defrag was needed. So, now I'm only left in need of a work-around. Perhaps a way to have the system load the bitmaps at boot time in the background? It would need to be done in such a way that it would not block any other access to that system. Or, is there a better filesystem format that would not have this problem? (Not a really great solution, since I would need to somehow/somewhere backup my 7.5TB system first.) It does seem strange that this hasn't become a more serious issue, as typical filesystems are getting bigger now. And I can't imagine a really large network server (10TB+) having to deal with this. Again, thx for the response. ken On Sat, Jan 18, 2014 at 9:09 AM, Andreas Dilger <adilger@dilger.ca> wrote:> On Jan 17, 2014, at 9:32, Ken Bass <daytooner@gmail.com> wrote: > > > > The problem/issue: there is a very long delay when my system does a > write to the filesystem. The delay now is over 5 minutes (yes: minutes). > This only happens on the first write after booting up the system, and only > for large files - 1GB or more. This can be a serious problem since all > access to any hard disk is blocked and will hang until the first write > begins again. > > > > The prevailing thought at the time was this was associated with loading > into memory the directory information looking for free space, which I would > believe now. > > It isn't actually directory information that is being loaded, but rather > the > block bitmaps from each group, and each one needs a seek to read. > This will take up to 7.5 TB / 128 MB/group / 100 seeks/sec = 600s > if the filesystem is nearly full. After this point, the bitmaps are cached > In memory and allocation is faster. > > > The filesystem in question is 7.5TB, with about 4TB used. There are over > 250,000 files. I also have another system with 1TB total and 400GB used, > with 65,000 files. This system, the smaller one, is beginning to show > delays as well, although only a few seconds. > > > > This problem seems to involve several factors: the total size of the > system; the current "fragmentation" of that system; and finally the amount > of physical memory available. > > > > As to the last factor, the 7.5TB system has only 2GB of memory (I didn't > think that it would need a lot since it is mostly being used as a file > server). The "fragmentation" factor (I am only guessing here) occurs with > having many files written and deleted over time. > > > > So my questions are: is there a solution or work around for this; and is > this a bug, or perhaps an undesirable feature. If the latter, should this > be reported (somewhere)? > > You might consider mounting the filesystem as ext4 instead of ext3. > It will do a slightly better job of finding contiguous free space > and avoid loading bitmaps that do not have enough space, but the > physics of seeking to read bitmaps is still the same. > > If you format a new filesystem as ext4 (as opposed to just mounting the > existing filesystem as ext4) you can use a new feature "flex_bg" that > locates the block and inode bitmaps together so that they can be read > without so much seeking. You'd need a spare disk to format and copy > the data over to. > > Using ext4 is also more resistant to fragmentation over time. > > Cheers, Andreas > > > Any suggestions, tips, etc. greatly appreciated. > > > > TIA > > > > ken > > > > _______________________________________________ > > Ext3-users mailing list > > Ext3-users@redhat.com > > https://www.redhat.com/mailman/listinfo/ext3-users >