Re: Problem identified: WAPL/RAIDframe performance problems

"J. Hannken-Illjes" <[email protected]> Wed, 28 Nov 2012 18:41:28 +0100
Newsgroups gmane.os.netbsd.devel.kernel,gmane.os.netbsd.devel.performance
Message-ID <[email protected]>
On Nov 28, 2012, at 6:02 PM, Greg Troxel <[email protected]> wrote:

>=20
> Edgar Fu=DF <[email protected]> writes:
>=20
>>> I seem to be facing two problems:
>>>=20
>>> 1. A certain svn update command is ridicously slow on my to-be file =
server.
>>> 2. During the svn update, the machine partially locks up and fails =
to respond=20
>>>   to NFS requests.
>> Thanks to very kind help by hannken@, I now at least know what the =
problem is.
>>=20
>> Short form: WAPBL is currently completely unusable on RAIDframe (I =
always=20
>> suspected something like that), at least on non-Level 0 sets.
>>=20
>> The problem turned out to be wapbl_flush() writing non-fsbsize chunks =
on non-
>> fsbsize boundaries. So RAIDframe is nearly sure to RMW.
>> That makes the log being written to disc at about 1MB/s with the =
write lock=20
>> on the log being held. So everything else on that fs tstiles on the =
log's=20
>> read lock.
>=20
> Do you see this on RAID-1 too?
>=20
> I wonder if it's possible (easily) to make the log only use fsbize
> boundaries, (maybe forcing it to be bigger as a side effect.)


Sure -- add fsbsize sized buffer to struct wapbl and teach wapbl_write()
to collect data until the buffers start or end touches a fsbsize =
boundary.

As long as the writes don't cross the logs end they already come =
ordered.

--
J. Hannken-Illjes - [email protected] - TU Braunschweig (Germany)