io-threads gives concurrency in terms of execution, but the data used during
execution will be shared by all threads (thread local storage, or the local
variables stored on stack etc will not be shared). since io-cache stores the
cache in inode structure, the cache stored is the same with or without
io-threads.
On Sun, Mar 21, 2010 at 5:07 AM, Ian Rogers <ian.rogers at
contactclean.com>wrote:
>
> Can someone familiar with performance/io-threads explain how it actually
> works (or write in up in the wiki)?...
>
> I've been doing some experiments with performance/io-threads and
> performance/io-cache. I'd expect that if io-threads was the root of the
vol
> tree then the io-cache would be duplicated along with the memory usage. But
> that doesn't seem to be the case...
>
> E.g. on one test client I have
>
> ...
>
> volume iothreads_web_upload_ct
> type performance/io-threads
> option thread-count 64
> subvolumes mirror_web_upload_ct
> end-volume
>
> volume io_cache_web_upload_ct
> type performance/io-cache
> option cache-size 256MB
> option cache-timeout 60
> subvolumes iothreads_web_upload_ct
> end-volume
>
>
> and on the other
>
> ...
>
> volume io_cache_web_upload_tc
> type performance/io-cache
> option cache-size 256MB
> option cache-timeout 60
> subvolumes mirror_web_upload_tc
> end-volume
>
> volume iothreads_web_upload_tc
> type performance/io-threads
> option thread-count 64 # default is 1
> subvolumes io_cache_web_upload_tc
> end-volume
>
> I then run a bunch of concurrent greps on each client on a large set of
> files. On both clients VSZ of glusterfs for that mount never get above
> 357492k which is actually great but not what I expected :-)
>
> If one puts io-threads in front of protocol/client will the client be
> making multiple concurrent TCP connections to the server or not?
>
> Ian
> _______________________________________________
> Gluster-users mailing list
> Gluster-users at gluster.org
> http://gluster.org/cgi-bin/mailman/listinfo/gluster-users
>
--
Raghavendra G