[sheepdog] [PATCH v2 1/3] dog: parallelize parse_vdi() with work queue

Hitoshi Mitake mitake.hitoshi at gmail.com
Mon Sep 2 08:01:44 CEST 2013


On Thu, Aug 29, 2013 at 1:07 AM, MORITA Kazutaka
<morita.kazutaka at gmail.com> wrote:
> At Tue, 27 Aug 2013 21:35:35 +0900,
> Hitoshi Mitake wrote:
>>
>> Current dog issues request for gathering VDI information in a
>> sequential manner (parse_vdi()). This way is not scalable when a
>> number of VDIs becomes larger.
>>
>> This patch parallelize parse_vdi() with work queue. Some dog
>> commands which call parse_vdi() can enjoy performance improvement.
>>
>> The below is an sample of dog vdi list. The test is done on 16
>> nodes cluster which has 3000 VDIs.
>>
>> Before:
>> $ time sh -c "dog/dog vdi list -a 10.68.13.1 > /dev/null"
>> sh -c "dog/dog vdi list -a 10.68.13.1 > /dev/null"  8.81s user 0.24s system 70% cpu 12.876 total
>>
>> After:
>> % time sh -c "dog/dog vdi list -a 10.68.13.1 > /dev/null"
>> sh -c "dog/dog vdi list -a 10.68.13.1 > /dev/null"  14.35s user 2.02s system 209% cpu 7.816 total
>
> user time + system time > total time
>
> Is this really correct?

Yes. Because these values express consumed time, not passed time.

Thanks,
Hitoshi



More information about the sheepdog mailing list