[sheepdog-users] Concern about sheepdog performance

Liu Yuan namei.unix at gmail.com
Tue Dec 18 11:21:47 CET 2012


On 12/18/2012 06:07 PM, Valerio Pachera wrote:
> Hi, I found this page of the archive
>   http://www.mail-archive.com/sheepdog@lists.wpkg.org/msg00932.html
> 
> There's reported about my same data (5-10M/s).
> It also reports that disabling barrier when mounting filesystem, we
> should gain lot's of performance.
> I wanted to try that!
> 
> I updated my sheepdog to latest develop version (0.5.5_19_g395c05c).
> 3 nodes, copies 2.
> I also tried to add allocsize=4M because I know sheepdog uses file of 4M.
> Is it a good idea?
> 
> mount (xfs): -o noatime,barrier=0,allocsize=4M
> sheep -D /mnt/sheepdog
> kvm -drive file=sheepdog:test,cache=none
>   16M/s
> 
> (the same, but without spcifing cache on qemu)
> mount (xfs): -o noatime,barrier=0,allocsize=4M
> sheep -D /mnt/sheepdog
> kvm -drive file=sheepdog:test
>   15.3M
> 

In both cases, you don't use cache at all, so 'cache=type' is meanless
actually they are the same thing to sheepdog.

As I mentioned before, use 'virtio' interface would result in better
performance and object cache (writeback mode) + journaling will give you
the best combination for performance.


> ---------
> 
> Now I wanted to run sheep without '-D'; I shutdown the cluster, re-run
> 'sheep /mnt/sheepdog' but only one node started the daemon.
> On the other two, in sheep.log we find:
> 
> Dec 18 11:02:57 [main] send_join_request(1014) IPv4 ip:192.168.2.41 port:7000
> Dec 18 11:02:57 [main] farm_init(118) xattrs are not enabled on
> /mnt/sheepdog/obj/

xattrs isn't enabled on the device so sheep exit.

> Dec 18 11:02:57 [main] crash_handler(324) sheep pid 15494 exited unexpectedly.
> Dec 18 11:02:57 [main] jrnl_recover(230) opening the directory
> /mnt/sheepdog/journal/
> Dec 18 11:02:57 [main] jrnl_recover(235) starting journal recovery
> Dec 18 11:02:57 [main] jrnl_recover(291) journal recovery complete
> 
> Dec 18 10:54:28 [main] send_join_request(1014) IPv4 ip:192.168.2.43 port:7000
> Dec 18 10:54:28 [main] farm_init(118) xattrs are not enabled on
> /mnt/sheepdog/obj/
> Dec 18 10:54:28 [main] crash_handler(324) sheep pid 13656 exited unexpectedly.
> Dec 18 10:54:28 [main] jrnl_recover(230) opening the directory
> /mnt/sheepdog/journal/
> Dec 18 10:54:28 [main] jrnl_recover(235) starting journal recovery
> Dec 18 10:54:28 [main] jrnl_recover(291) journal recovery complete
> 
> *On the node with the running daemon*
> Dec 18 10:51:37 [main] send_join_request(1014) IPv4 ip:192.168.2.42 port:7000
> Dec 18 10:51:37 [main] main(616) sheepdog daemon (version
> 0.5.5_19_g395c05c) started
> Dec 18 10:51:37 [main] update_cluster_info(799) status = 2, epoch = 0,
> finished: 0
> Dec 18 10:51:41 [main] sd_check_join_cb(974) 192.168.2.43:7000: ret =
> 0x0, cluster_status = 0x2
> Dec 18 10:54:03 [main] sd_check_join_cb(974) 192.168.2.43:7000: ret =
> 0x0, cluster_status = 0x2
> Dec 18 10:54:25 [main] sd_check_join_cb(974) 192.168.2.43:7000: ret =
> 0x0, cluster_status = 0x2
> 
> Is it better to not use the development verion for testing?
> 

Either is okay. But I'd suggest use master for test because in most of
the time, the master is more stable as time goes by.

Thanks,
Yuan



More information about the sheepdog-users mailing list