On Thu, Apr 12, 2012 at 10:53:22PM +0800, Liu Yuan wrote:
> From: Liu Yuan <[email protected]>
> 
> Most of the time one VM would issue multiple requests in one
> go, so it would be useful to let users to decide how many workers
> are useful if we have more than several VMs in single sheep node.
> 
> In a large set nodes of cluster, every single node will get multiple
> concurrent recovery IO requests, so it would be useful to have it as
> configurable.
> 
> default 4 workers for both and maximum 128.

I've seen in my benchmarking that's you'd want at least 64 to even
saturate setup with single sata disks per daemon and a few dozens
daemons, which means the default probably should be in that range.

> --- a/sheep/sheep.c
> +++ b/sheep/sheep.c
> @@ -27,6 +27,9 @@
>  #define DEFAULT_OBJECT_DIR "/tmp"
>  #define LOG_FILE_NAME "sheep.log"
>  
> +static int nr_io_worker = 4;
> +static int nr_gateway_worker = 4;
> +
>  LIST_HEAD(cluster_drivers);
>  static char program_name[] = "sheep";
>  
> @@ -37,6 +40,8 @@ static struct option const long_options[] = {
>       {"debug", no_argument, NULL, 'd'},
>       {"directio", no_argument, NULL, 'D'},
>       {"asyncflush", no_argument, NULL, 'a'},
> +     {"gworker", required_argument, NULL, 'g'},
> +     {"iworker", required_argument, NULL, 'i'},

--nr-gateway-workers and --nr-io-workers would be more descriptive.

-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to