On Mar 21, 2010, at 10:53 AM, Ulrich Spörlein wrote:
> [CC trimmed]
> On Sun, 21.03.2010 at 10:39:10 -0600, Scott Long wrote:
>> On Mar 21, 2010, at 10:30 AM, Ulrich Spörlein wrote:
>>> On Sat, 20.03.2010 at 12:17:33 -0600, Scott Long wrote:
>>>> Windows has a MAXPHYS equivalent of 1M.  Linux has an equivalent of an
>>>> odd number less than 512k.  For the purpose of benchmarking against these
>>>> OS's, having comparable capabilities is essential; Linux easily beats 
>>>> FreeBSD
>>>> in the silly-i/o-test because of the MAXPHYS difference (though FreeBSD 
>>>> typically
>>>> stomps linux in real I/O because of vastly better latency and caching 
>>>> algorithms).
>>>> I'm fine with raising MAXPHYS in production once the problems are 
>>>> addressed.
>>> 
>>> Hi Scott,
>>> 
>>> while I'm sure that most of the FreeBSD admins are aware of "silly"
>>> benchmarks where Linux I/O seems to dwarf FreeBSD, do you have some
>>> pointers regarding your statement that FreeBSD triumphs for real-world
>>> I/O loads? Can this be simulated using iozone, bonnie, etc? More
>>> importantly, is there a way to do this file system independently?
>>> 
>> 
>> iozone and bonnie tend to be good at testing serialized I/O latency; each 
>> read and write is serialized without any buffering.  My experience is that 
>> they give mixed results, sometimes they favor freebsd, sometime linux, 
>> sometimes it's a wash, all because they are so sensitive to latency.  And 
>> that's where is also gets hard to have a "universal" benchmark; what are you 
>> really trying to model, and how does that model reflect your actual 
>> workload?  Are you running a single-instance, single threaded application 
>> that is sensitive to latency?  Are you running a 
>> multi-instance/multi-threaded app that is sensitive to bandwidth?  Are you 
>> operating on a single file, or on a large tree of files, or on a raw device? 
>>  Are you sharing a small number of relatively stable file descriptors, or 
>> constantly creating and deleting files and truncating space?
> 
> All true, that's why I wanted to know from you, which real world
> situations you encountered where FreeBSD did/does outperform Linux in
> regards to I/O throughput and/or latency (depending on scenario, of
> course).


I have some tests that spawn N number of threads and then do sequential and 
random i/o either into a filesystem or a raw disk.  FreeBSD gets more work done 
with fewer I/O's than linux when you're operating through the filesystem, 
thanks to softupdates and the block layer.  Linux has a predictive cache that 
often times will generate too much i/o in a vain attempt to aggressively 
prefetch blocks. So even then it's hard to measure in a simple way; linux will 
do more i/o, but less of it will be useful to the application, thereby 
increasing latency and increasing application runtime.  Sorry I can't be more 
specific, but you're asking for something that I explicitly say I can't provide.

Scott

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[email protected]"

Reply via email to