I''m CCing zfs-discuss at opensolaris.org, as this doesn''t look like FreeBSD-specific problem. It looks there is a problem with block allocation(?) when we are near quota limit. tank/foo dataset has quota set to 10m: Without quota: FreeBSD: # dd if=/dev/zero of=/tank/test bs=512 count=20480 time: 0.7s Solaris: # dd if=/dev/zero of=/tank/test bs=512 count=20480 time: 4.5s With quota: FreeBSD: # dd if=/dev/zero of=/tank/foo/test bs=512 count=20480 dd: /tank/foo/test: Disc quota exceeded time: 306.5s Solaris: # dd if=/dev/zero of=/tank/foo/test bs=512 count=20480 write: Disc quota exceeded time: 602.7s CPU is almost entirely idle, but disk activity seems to be high. Any ideas? -- Pawel Jakub Dawidek http://www.wheel.pl pjd at FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: <http://mail.opensolaris.org/pipermail/zfs-discuss/attachments/20070921/294541b1/attachment.bin>
Pawel Jakub Dawidek writes: > I''m CCing zfs-discuss at opensolaris.org, as this doesn''t look like > FreeBSD-specific problem. > > It looks there is a problem with block allocation(?) when we are near > quota limit. tank/foo dataset has quota set to 10m: > > Without quota: > > FreeBSD: > # dd if=/dev/zero of=/tank/test bs=512 count=20480 > time: 0.7s > > Solaris: > # dd if=/dev/zero of=/tank/test bs=512 count=20480 > time: 4.5s > > With quota: > > FreeBSD: > # dd if=/dev/zero of=/tank/foo/test bs=512 count=20480 > dd: /tank/foo/test: Disc quota exceeded > time: 306.5s > > Solaris: > # dd if=/dev/zero of=/tank/foo/test bs=512 count=20480 > write: Disc quota exceeded > time: 602.7s > > CPU is almost entirely idle, but disk activity seems to be high. > Yes, as we are near quota limit, each transaction group will accept a small amount as to not overshoot the limit. I don''t know if we have the optimal strategy yet. -r > Any ideas? > > -- > Pawel Jakub Dawidek http://www.wheel.pl > pjd at FreeBSD.org http://www.FreeBSD.org > FreeBSD committer Am I Evil? Yes, I Am! > _______________________________________________ > zfs-discuss mailing list > zfs-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
Roch - PAE wrote:> Pawel Jakub Dawidek writes: > > I''m CCing zfs-discuss at opensolaris.org, as this doesn''t look like > > FreeBSD-specific problem. > > > > It looks there is a problem with block allocation(?) when we are near > > quota limit. tank/foo dataset has quota set to 10m: > > > > Without quota: > > > > FreeBSD: > > # dd if=/dev/zero of=/tank/test bs=512 count=20480 > > time: 0.7s > > > > Solaris: > > # dd if=/dev/zero of=/tank/test bs=512 count=20480 > > time: 4.5s > > > > With quota: > > > > FreeBSD: > > # dd if=/dev/zero of=/tank/foo/test bs=512 count=20480 > > dd: /tank/foo/test: Disc quota exceeded > > time: 306.5s > > > > Solaris: > > # dd if=/dev/zero of=/tank/foo/test bs=512 count=20480 > > write: Disc quota exceeded > > time: 602.7s > > > > CPU is almost entirely idle, but disk activity seems to be high. > > > > > Yes, as we are near quota limit, each transaction group > will accept a small amount as to not overshoot the limit. > > I don''t know if we have the optimal strategy yet. > > -rAside from the quota perf issue, has any analysis been done as to why FreeBSD is over 6X faster than Solaris without quotas? Do other perf tests show a similar disparity? Is there a difference in dd itself? I assume that it was identical hardware and pool config. Thanks: Neil.
Hello Neil, Thursday, September 27, 2007, 11:40:42 PM, you wrote: NP> Roch - PAE wrote:>> Pawel Jakub Dawidek writes: >> > I''m CCing zfs-discuss at opensolaris.org, as this doesn''t look like >> > FreeBSD-specific problem. >> > >> > It looks there is a problem with block allocation(?) when we are near >> > quota limit. tank/foo dataset has quota set to 10m: >> > >> > Without quota: >> > >> > FreeBSD: >> > # dd if=/dev/zero of=/tank/test bs=512 count=20480 >> > time: 0.7s >> > >> > Solaris: >> > # dd if=/dev/zero of=/tank/test bs=512 count=20480 >> > time: 4.5s >> > >> > With quota: >> > >> > FreeBSD: >> > # dd if=/dev/zero of=/tank/foo/test bs=512 count=20480 >> > dd: /tank/foo/test: Disc quota exceeded >> > time: 306.5s >> > >> > Solaris: >> > # dd if=/dev/zero of=/tank/foo/test bs=512 count=20480 >> > write: Disc quota exceeded >> > time: 602.7s >> > >> > CPU is almost entirely idle, but disk activity seems to be high. >> > >> >> >> Yes, as we are near quota limit, each transaction group >> will accept a small amount as to not overshoot the limit. >> >> I don''t know if we have the optimal strategy yet. >> >> -rNP> Aside from the quota perf issue, has any analysis been done as to NP> why FreeBSD is over 6X faster than Solaris without quotas? NP> Do other perf tests show a similar disparity? NP> Is there a difference in dd itself? NP> I assume that it was identical hardware and pool config. Good question. It should have been cached on Solaris so it should definitely be below 1s range. -- Best regards, Robert mailto:rmilkowski at task.gda.pl http://milek.blogspot.com
On Mon, Oct 01, 2007 at 12:57:05PM +0100, Robert Milkowski wrote:> Hello Neil, > > Thursday, September 27, 2007, 11:40:42 PM, you wrote: > > > NP> Roch - PAE wrote: > >> Pawel Jakub Dawidek writes: > >> > I''m CCing zfs-discuss at opensolaris.org, as this doesn''t look like > >> > FreeBSD-specific problem. > >> > > >> > It looks there is a problem with block allocation(?) when we are near > >> > quota limit. tank/foo dataset has quota set to 10m: > >> > > >> > Without quota: > >> > > >> > FreeBSD: > >> > # dd if=/dev/zero of=/tank/test bs=512 count=20480 > >> > time: 0.7s > >> > > >> > Solaris: > >> > # dd if=/dev/zero of=/tank/test bs=512 count=20480 > >> > time: 4.5s > >> > > >> > With quota: > >> > > >> > FreeBSD: > >> > # dd if=/dev/zero of=/tank/foo/test bs=512 count=20480 > >> > dd: /tank/foo/test: Disc quota exceeded > >> > time: 306.5s > >> > > >> > Solaris: > >> > # dd if=/dev/zero of=/tank/foo/test bs=512 count=20480 > >> > write: Disc quota exceeded > >> > time: 602.7s > >> > > >> > CPU is almost entirely idle, but disk activity seems to be high. > >> > > >> > >> > >> Yes, as we are near quota limit, each transaction group > >> will accept a small amount as to not overshoot the limit. > >> > >> I don''t know if we have the optimal strategy yet. > >> > >> -r > > NP> Aside from the quota perf issue, has any analysis been done as to > NP> why FreeBSD is over 6X faster than Solaris without quotas? > NP> Do other perf tests show a similar disparity? > NP> Is there a difference in dd itself? > NP> I assume that it was identical hardware and pool config.(I don''t see this e-mail in my ZFS inbox, that''s why I''m replaying to Robert''s e-mail.) Just to clarify. This was entirely different hardware. My e-mail was __only__ about quota performance in ZFS. Please, do not try to use those results for any other purpose. -- Pawel Jakub Dawidek http://www.wheel.pl pjd at FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: <http://mail.opensolaris.org/pipermail/zfs-discuss/attachments/20071001/67e19471/attachment.bin>