Joseph Santaniello
2013-May-30 12:18 UTC
[Gluster-users] Concurrent connection optimizations
Hi All, I am experimenting with a replicated setup with 2 bricks per volume on a shared webhosting implementation. Two nodes, each both a server and client. When doing some load tests, I see that the glusterfs process that is the client mount seems to be the most CPU intensive of the various things involved. My tests have been somewhat inconclusive so far. I wonder if someone could help make an educated guess as to what would offer better concurrency performance. Suppose I have one gluster volume "gv0" mounted on /home/gv0/ and two virtual hosts www.vhost1.com and www.vhost2.com each being served from this volume. Suppose that I can concurrently serve 5,000 requests per second from each of these virtual hosts, with the gluster client being the bottleneck. (If I run bypassing gluster and read directly from my bricks I can get 20,000). CPU runs about 120% at full-tilt according to top. I have 16 cores to play with. Would the concurrency be potentially higher if each of the virtual hosts were on different gluster volumes? If so, and each had its own client process, might I gain something by assigning specfic cpus via cgroups or something? Thanks, Joseph