[sheepdog] [PATCH 0/3] work: implement a dynamically changing thread pool

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Fri Oct 26 02:17:07 CEST 2012


At Thu, 25 Oct 2012 13:55:20 +0200,
Bastian Scholz wrote:
> Master Branch from today...
> 
> # collie vdi create test 1G
> # ./vditest test -w -B 4096 -a
> 
> First try, some sheeps die and the vdis had failed objects.
> After shutting down the remaining sheeps, restart all and
> wait for recovery finished the test vdi was gone... (no
> logs available, sorry)
> 
> Second try, the gateway process hangs and write a lot of
> this to the logfile...
> > Oct 25 13:47:01 [main] listen_handler(839) failed to
> > accept a new connection: Too many open files

Current Sheepdog code has a bug in handling too many concurrent
requests.  I'll fix it soon.

> 
> Without -a parameter it works...
> First try...
> # ./vditest test -w -B 4096
> options: -B 4096:4096 -c writethrough -D 0:100 -o 0
>           -p linear -s 1351165854 -S 0:1073741824 -T 10 -f -1
> Total write throughput: 256409.6B/s (250.4K/s), IOPS 62.6/s.
> 
> After the 10th run of the same command
> # ./vditest test -w -B 4096
> options: -B 4096:4096 -c writethrough -D 0:100 -o 0
>           -p linear -s 1351166058 -S 0:1073741824 -T 10 -f -1
> Total write throughput: 1862041.6B/s (1.8M/s), IOPS 454.6/s.
> 
> And the throughput and IOPS are still increasing with each
> additional test...
> 
> Any additional hints for me how to continue with testing?

Writing data to unallocated areas causes a metadata update.  You can
get a more stable result if you preallocate data when creating VDI.

 $ collie vdi create test 100M -P

Thanks,

Kazutaka



More information about the sheepdog mailing list