We have production servers that have 8GB memory on each client and server. But we found that running multiple processes in same client machine will degrade the total IO throughput.<br>here is the testing case:<br>Reading 10,000 random files using only one process: 45seconds<br>
Open 2 processes, each to read 10,000 random files: Process 1 took 98 seconds, process 2 took 102 seconds.<br><br>using &#39;top&#39; to check the system resource, on server side, the system is 97% idle, on client side it is 85% idle.<br>
Any idea why gluster client can not handle multiple processes to improve aggregated IO throughput? I am using ver 2.00rc1.<br><br>any optimization idea is appreciated.<br><br>thanks<br>Watishi<br><br><br>-- client configuration file<br>
volume remote_1<br>  type protocol/client<br>  option transport-type tcp/client<br>   option remote-host server1<br>  option remote-subvolume volume_1-brick<br>end-volume<br><br>volume remote_2<br>  type protocol/client<br>
  option transport-type tcp/client<br>   option remote-host server2<br>  option remote-subvolume volume_2-brick<br>end-volume<br><br>volume remote_3<br>  type protocol/client<br>  option transport-type tcp/client<br>   option remote-host server3<br>
  option remote-subvolume volume_3-brick<br>end-volume<br><br>volume remote_4<br>  type protocol/client<br>  option transport-type tcp/client<br>   option remote-host server4<br>  option remote-subvolume volume_4-brick<br>
end-volume<br><br>volume bricks<br>  type cluster/distribute<br>  subvolumes remote_1 remote_2 remote_3 remote_4<br><br>end-volume<br><br><br>--server gluster configure file<br><br>volume volume_2-posix<br> type storage/posix<br>
 option directory /data/export/volume_2<br>end-volume<br><br>volume volume_2-locks<br>  type features/locks<br>  subvolumes volume_2-posix<br>end-volume<br><br>volume volume_2-brick<br> type performance/io-threads<br> option thread-count 9<br>
 subvolumes volume_2-locks<br>end-volume<br><br>volume server<br> type protocol/server<br> option transport-type tcp<br> option auth.addr.volume_2-brick.allow *<br>subvolumes volume_2-brick<br>end-volume<br><br><br>