At Sat, 03 Nov 2012 10:32:12 +0800, Liu Yuan wrote: > > On 11/02/2012 07:35 PM, MORITA Kazutaka wrote: > > Currently, '-a' option generates too many I/O requests and causes > > ENFILE error in sheep. This adds '-C' option to limit the maximum > > number of concurrent I/O requests. > > > > What is ENFILE eorror? ENFILE: The system limit on the total number of open files has been reached. Sheep creates unlimited threads, so socket/2 and open/2 can cause a ENFILE (too many open file) error when it accepts many I/O requests simultaneously. I'm not sure whether this error can happen in real use cases yet, but we can easily confirm it with vditest if we add, e.g., '-C 1024' option. > > diff --git a/script/vditest b/script/vditest > > index 8f6fbdd..ffaf522 100755 > > --- a/script/vditest > > +++ b/script/vditest > > @@ -18,7 +18,7 @@ use IPC::Open2; > > my $program = "vditest"; > > my ($vdiname, $vdisize); > > > > -my $use_aio = 0; > > +my $concurrency = 1; > > maybe default to a bigger value, like 128 is better? I think defaulting to 1 (synchronous I/O test) is better, which is useful for examining the I/O latency. The best value of the number of concurrency depends on the machine spec, so users should choose the value with '-C' option when they want to do concurrent I/O tests. Thanks, Kazutaka |