Date: Tue, 29 May 2012 22:54:43 +0200 From: Kees Jan Koster <kjkoster@gmail.com> To: Freddie Cash <fjwcash@gmail.com> Cc: freebsd-stable@freebsd.org Subject: Re: FreeBSD 9.0 hangs on heavy I/O Message-ID: <0B516D83-3CFA-4263-8052-90CF579E7FA8@gmail.com> In-Reply-To: <CAOjFWZ7964oeTNZqADj4cRt3kkdOf5Mwyx8GQDnJnZ8vyONckg@mail.gmail.com> References: <BD5D6BB6-8CFF-456A-B03E-05454EB03AB6@gmail.com> <CAOjFWZ40LX%2B8Lw15mHDG8F3nN0aex5EpqVdjPxRPS89t1Fqkiw@mail.gmail.com> <CAOjFWZ7964oeTNZqADj4cRt3kkdOf5Mwyx8GQDnJnZ8vyONckg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Dear Freddie, >> You may want to play around with gshed, the GEOM Scheduler. >>=20 >> Matt Dillon did a bunch of tests comparing FreeBSD+UFS to >> DragonflyBSD+HAMMER and found that FreeBSD starves read threads in >> order to satisfy write threads (or the other way around?). But, >> adding gsched into the mix helped things immensely, allowing mixed >> reads/writes to better shares disk I/O resources. >>=20 >> I'll see if I can dig up a link to his testing e-mail messages. >=20 > Here's the post, part of a thread on benchmarking RAID controllers: >=20 > http://leaf.dragonflybsd.org/mailarchive/kernel/2011-07/msg00034.html *cloink* /me goes to pick my jam off of the floor. I can insert a I/O = scheduler in full flight? Ok. I need to adjust my mental image of the = world a bit. I just played with the examples on a test machine and the effect is = quite visible. I ran a CVS checkout of the ports collection concurrent = with dd writing a massive file. Insert scheduler -> CVS update is = faster; destroy scheduler -> CVS update crawls. This is so easy it's = almost scary. The behaviour that Matt describes is what I thought I was seeing too: = write a *lot* and it becomes hard to read from the disk. In my system, = writing data is largely asynchronous and can lag the actual arrival of = data by as much as a few minutes. Reads are always synchronous to a user = request and need to be served asap. Some writes are database writes and = they should be services quickly too. This is definitively something I need to look into. Thank you for the = reference. -- Kees Jan http://java-monitor.com/ kjkoster@kjkoster.org +31651838192 Change is good. Granted, it is good in retrospect, but change is good.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0B516D83-3CFA-4263-8052-90CF579E7FA8>