[opensuse] filesystem with millions of files seems to growing slower and slower
I have a system with a single large JFS filesystem, about 600Gb with about 13% free space and millions and millions of files. It seems to be growing slower and slower (in accessing files and directories)- are there any tunable parameters that might help speed things up? -- Per Jessen, Zürich (11.1°C) http://www.dns24.ch/ - free dynamic DNS, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Per Jessen wrote:
I have a system with a single large JFS filesystem, about 600Gb with about 13% free space and millions and millions of files. It seems to be growing slower and slower (in accessing files and directories)- are there any tunable parameters that might help speed things up?
I've had a look at vfs_cache_pressure but I'm not sure I really understand what it does. The system has 10G of memory, about half of that is filesystem cache atm. -- Per Jessen, Zürich (12.4°C) http://www.dns24.ch/ - your free DNS host, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Per Jessen wrote:
Per Jessen wrote:
I have a system with a single large JFS filesystem, about 600Gb with about 13% free space and millions and millions of files. It seems to be growing slower and slower (in accessing files and directories)- are there any tunable parameters that might help speed things up?
I've had a look at vfs_cache_pressure but I'm not sure I really understand what it does. The system has 10G of memory, about half of that is filesystem cache atm.
Does JFS have any utilities to tell you how fragmented the files, directories and free space is? Even on XFS, if file fragmentation down, one can have other types of fragmentation -- directory -- which you can only undo by creating a new directory and copying over the files and seeing if it is better (usually worse, but sometimes better). The one that is really bothersome is "free-space" fragmentation. W/XFS anyway, freespace is lumped together, in "extents" (contiguous space of some size), which are grouped by size to allow for fast allocation, but if your free space is fragmented so there is nothing more than 64K junks, then 1GB of space is still going to take a while to find space for (that would be a rather degenerate case)... 13% is getting close to space exhaustion -- 10-15% is usually the lower limit, though in practice I find it's best to keep drives below 75% usage for continued fast performance (not that I always do that, mind you, but when possible) -- if it is a mostly "read-only" drive, then lower amounts of free space are usually fine... But don't have experience w/JFS... so don't know what it's characteristics are. If it is possible, you might just try dumping the entire partition somewhere else and restoring it to a newly emptied drive -- that way space allocation can try to keep things together, might free up non-fragmented free space as well...? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Linda Walsh wrote:
Per Jessen wrote:
Per Jessen wrote:
I have a system with a single large JFS filesystem, about 600Gb with about 13% free space and millions and millions of files. It seems to be growing slower and slower (in accessing files and directories)- are there any tunable parameters that might help speed things up?
I've had a look at vfs_cache_pressure but I'm not sure I really understand what it does. The system has 10G of memory, about half of that is filesystem cache atm.
Does JFS have any utilities to tell you how fragmented the files, directories and free space is?
Hi Linda thanks for responding - we're over the worst, but there is definitely some issue somewhere. I am not aware of a such a utility for JFS. ISTR Dave Kleikamp saying there was no need. Maybe after ten years there is :-)
Even on XFS, if file fragmentation down, one can have other types of fragmentation -- directory -- which you can only undo by creating a new directory and copying over the files and seeing if it is better (usually worse, but sometimes better).
The one that is really bothersome is "free-space" fragmentation. W/XFS anyway, freespace is lumped together, in "extents" (contiguous space of some size), which are grouped by size to allow for fast allocation, but if your free space is fragmented so there is nothing more than 64K junks, then 1GB of space is still going to take a while to find space for (that would be a rather degenerate case)...
I don't think it's about free-space, although it also affects writes. Here's an example: listing all contents of <dir1> (find <dir1> -type f) took 46 minutes, total contents only 870153 files. Whilst that's going on, lots of other directory access is held up / blocked. For instance, postfix writing new files to maildir or receiving new incoming mail.
13% is getting close to space exhaustion -- 10-15% is usually the lower limit, though in practice I find it's best to keep drives below 75% usage for continued fast performance (not that I always do that, mind you, but when possible)
This particular file system worked fairly well up 95%, but I'm back down to about 15% free space now.
-- if it is a mostly "read-only" drive, then lower amounts of free space are usually fine... But don't have experience w/JFS... so don't know what it's characteristics are.
It's most-write-or-delete. Basically a fifo queue of millions of files with some random access.
If it is possible, you might just try dumping the entire partition somewhere else and restoring it to a newly emptied drive -- that way space allocation can try to keep things together, might free up non-fragmented free space as well...?
Not possible, the show must go on 24hours a day :-) -- Per Jessen, Zürich (6.6°C) http://www.hostsuisse.com/ - dedicated server rental in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (2)
-
Linda Walsh
-
Per Jessen