Re: Filesystem snapshots dog slow
- From: Peter Jeremy <peterjeremy@xxxxxxxxxxxxxxxx>
- Date: Wed, 17 Oct 2007 20:00:03 +1000
On 2007-Oct-16 06:54:11 -0500, Eric Anderson <anderson@xxxxxxxxxxx> wrote:
will give you a good understanding of what the issue is. Essentially, your
disk is hammered making copies of all the cylinder groups, skipping those
that are 'busy', and coming back to them later. On a 200Gb disk, you could
have 1000 cylinder groups, each having to be locked, copied, unlocked, and
then checked again for any subsequent changes. The stalls you see are when
there are lock contentions, or disk IO issues. On a single disk (like your
setup above), your snapshots will take forever since there is very little
random IO performance available to you.
That said, there is a fair amount of scope available for improving
both the creation and deletion performance.
Firstly, it's not clear to me that having more than a few hundred CGs
has any real benefits. There was a massive gain in moving from
(effectively) a single CG in pre-FFS to a few dozen CGs in FFS as it
was first introduced. Modern disks are roughly 5 orders of magnitude
larger and voice-coil actuators mean that seek times are almost
independent of distance. CG sizes are currently limited by the
requirement that the cylinder group (including cylinder group maps)
must fit into a single FS block. Removing this restriction would
allow CGs to be much larger.
Secondly, all the I/O during both snapshot creation and deletion is
in FS-block size chunks. Increasing the I/O size would significantly
increase the I/O performance. Whilst it doesn't make sense to read
more than you need, there still appears to be plenty of scope to
combine writes.
Between these two items, I would expect potential performance gains
of at least 20:1.
Note that I'm not suggesting that either of these items is trivial.
--
Peter Jeremy
Attachment:
pgp2ObDpBGIo3.pgp
Description: PGP signature
- Follow-Ups:
- Re: Filesystem snapshots dog slow
- From: Kostik Belousov
- Re: Filesystem snapshots dog slow
- References:
- Filesystem snapshots dog slow
- From: Jeremy Chadwick
- Re: Filesystem snapshots dog slow
- From: Eric Anderson
- Filesystem snapshots dog slow
- Prev by Date: Re: amrd disk performance drop after running under high load
- Next by Date: Re: Interrupt/speed problems with 6.2 NFS server
- Previous by thread: Re: Filesystem snapshots dog slow
- Next by thread: Re: Filesystem snapshots dog slow
- Index(es):
Relevant Pages
- Re: Filesystem snapshots dog slow
... disk is hammered making copies of all the cylinder groups, ... On a 200Gb disk,
you could ... it's not clear to me that having more than a few hundred CGs ... all
the I/O during both snapshot creation and deletion is ... (freebsd-hackers) - Re: Filesystem snapshots dog slow
... Kostik Belousov wrote: ... On a 200Gb disk, you could have 1000 cylinder
groups, each having to be locked, copied, unlocked, and then checked again for any subsequent changes.
... all the I/O during both snapshot creation and deletion is ... (freebsd-hackers) - Re: sql server i/o bottle neck ?
... It's hard to explain the I/O disparity without knowing the details of your ...
My first guess is that you might be committing each SQL Server insert ... An I/O intensive
process will generally run at the max speed of your disk ... The system monitor
shows during my job: ... (comp.databases.ms-sqlserver) - Re: sql server i/o bottle neck ?
... It's hard to explain the I/O disparity without knowing the details of your ...
My first guess is that you might be committing each SQL Server insert ... An I/O intensive
process will generally run at the max speed of your disk ... The system monitor
shows during my job: ... (comp.databases.ms-sqlserver) - Re: sql server i/o bottle neck ?
... You can use a fully-logged bulk insert by changing the recovery model to ...
Bulk insert is the fastest way to load data into SQL Server. ... increase write I/O
and compound the negative effect of having data and log ... An I/O intensive process will generally
run at the max speed of your disk ... (comp.databases.ms-sqlserver)