0

We have a setup of three dedicated machines where a LAMP-Application will be installed on ubuntu 14.04. Glusterfs 3.7.x will serve as a shared storage sollution.

There are 2 high performance machines, and a third server with reasonable specs. The two high performers will host through NGINX.

The files to be served are small (2kB - 30kb). Currently the system is planed in replica 2 mode on two servers.

gluster volume create volume1 replica 2 gs1:/data/brick gs2:/data/brick

Would there be a performance gain if we add a glusterfs server on the third node?

Please note that this question is focused on glusterfs and therefore not a duplicate to the mentioned posting.

merlin
  • 2,033
  • 11
  • 37
  • 72
  • possible duplicate of [Can you help me with my capacity planning?](http://serverfault.com/questions/384686/can-you-help-me-with-my-capacity-planning) – Gene Aug 24 '15 at 20:20
  • It could go either way. If you are doing mostly read operations it may help reduce the load over all, but if there are syncronisation issues (i.e. problems meeting quorum) it could cause blocking or other general slowness. Only testing will tell, no one can really answer this question for you. – Gene Aug 24 '15 at 20:21
  • There will be mainly reads and they need to be fast. Adding another solr server to solr cloud would increase the performance right away, but how is it wilth gluster? Would it need to be a replica 3 setup or is there another option which could use the "horse power" of server three to help speed up writes? And if not, would it be advisable to put gs2 on the third server and have the client on node 2 only mount the drive? – merlin Aug 24 '15 at 20:27

1 Answers1

1

The scalability issues in Gluster are related to the number of bricks, not the number of servers. Gluster, in general, scales linearly on common I/O patterns. The exception to this rule is file create operations and management operations. Both cause Gluster to take a hit because of the overhead on the network increases as the cluster grows.

There are a couple of areas to look at to determine what to do to increase performance. First, take a look at "iostats -dkx 30" and "iptraf" on the server. If the util% is on the high end, or the network bandwidth close to maturing the interface. Adding clients won't help. You only option would be to add a server or give it add a network cared or replace the network card with one that can carry more bandwidth. The other option here is to add more iocache space on the clients.

Disk usage% will also fall if you increase the amount of RAM available as Linux likes to cache the file system. The next potential bottle neck is the disk itself. Run top and or isostat 5 to check the level of iowait. If its high faster disks or more disks may help.

Check your clients for charachteristics inhibiting the servers throughput, for example: CPU usage, network usage, memory usage, etc.

Thomas Vincent
  • 1,090
  • 6
  • 13
  • So adding another server would mainly add network traffic? I was hoping to increase performance through distributing the files to more servers. How about adding a second SSD to each server and forming a second brick on it? Or seperating the operating system from the brick with a second pair of SSDs? – merlin Aug 24 '15 at 20:56
  • You would get the most bang for your buck by adding a second SSD. Gluster like any other storage system is going to be ultimately bound by I/O. – Thomas Vincent Aug 25 '15 at 01:11