[Gluster-users] performance testing with ab (apache benchmark)

Pablo Godel pablo.godel at gmail.com
Sun Nov 22 07:19:38 UTC 2009


Hello,

I am testing glusterfs to run some VPS using Openvz.

I've been able to improve the performance considerably using the different
translators.

I've been running a simple test. Inside the VPS I have Apache. I am running:

*ab -n 1000 -c 10 http://localhost/index.php*
*
*
index.php is a simple PHP, nothing fancy. The RPS (requests per second) of
running this on a VPS mounted locally is about 3000 req/s. Running it in a
VPS with its filesystem mounted on glusterfs is much lower, which is
expected, but what is intriguing is that the first few times I run this
command, the result is around 1300 req/s. The more I run, the slower it gets
until it settles at around 200/300 req/s.

If I restart apache, the result goes up to 1500 req/s.

Disabling apache logging does not change the scenario.

Any ideas on how to keep performance up? Why would it start being quite fast
and then down?

Also, mysql seems to be slow to start, taking really long.

Loads on file server is very low. Load on client is normal.

Here are my configs so far:

server:

# file: /etc/glusterfs/glusterfsd.vol
 volume posix
  type storage/posix
  option directory /data/export
end-volume

volume locks
  type features/locks
  subvolumes posix
end-volume

volume brick-1
  type performance/io-threads
  option thread-count 8
  subvolumes locks
end-volume

volume brick
  type performance/io-cache
  option cache-size 64MB
  subvolumes brick-1
end-volume

volume server
  type protocol/server
  option transport-type tcp
  option auth.addr.brick.allow *
  subvolumes brick
end-volume


client:

volume brick1
 type protocol/client
 option transport-type tcp/client
 option remote-host 192.168.0.40    # IP address of the remote brick
 option remote-subvolume brick        # name of the remote volume
end-volume

volume writebehind
  type performance/write-behind
  option cache-size 4MB
  option flush-behind on
  option enable-O_SYNC on
  subvolumes brick1
end-volume

volume io-cache
  type performance/io-cache
  option cache-size 64MB
  option cache-timeout 2
  subvolumes writebehind
end-volume

volume readahead
  type performance/read-ahead
  option page-count 4           # 2 is default option
  subvolumes io-cache
end-volume

volume quick-read
  type performance/quick-read
  option cache-timeout 1
  option max-file-size 64Kb
  subvolumes readahead
end-volume


More information about the Gluster-users mailing list