From 677d30716978615d0499344ac0a62c2755a486cf Mon Sep 17 00:00:00 2001 From: Peter Portante Date: Mon, 8 Jul 2013 14:10:45 -0400 Subject: Final forward port of PDQ performance patches Change-Id: I4ef131b3cc7648d4571a4d854029efb1aff8b901 Signed-off-by: Peter Portante Reviewed-on: http://review.gluster.org/5305 Reviewed-by: Luis Pabon Tested-by: Luis Pabon --- etc/account-server.conf-gluster | 19 +++++++++++++++++-- etc/container-server.conf-gluster | 19 +++++++++++++++++-- etc/fs.conf-gluster | 5 +++-- etc/object-server.conf-gluster | 32 +++++++++++++++++++++++--------- etc/proxy-server.conf-gluster | 1 - 5 files changed, 60 insertions(+), 16 deletions(-) (limited to 'etc') diff --git a/etc/account-server.conf-gluster b/etc/account-server.conf-gluster index b47680a..0804605 100644 --- a/etc/account-server.conf-gluster +++ b/etc/account-server.conf-gluster @@ -1,17 +1,32 @@ [DEFAULT] devices = /mnt/gluster-object +# +# Once you are confident that your startup processes will always have your +# gluster volumes properly mounted *before* the account-server workers start, +# you can *consider* setting this value to "false" to reduce the per-request +# overhead it can incur. mount_check = true bind_port = 6012 -user = root -log_facility = LOG_LOCAL2 +# # Override swift's default behaviour for fallocate. disable_fallocate = true +# +# One or two workers should be sufficient for almost any installation of +# Gluster. +workers = 1 [pipeline:main] pipeline = account-server [app:account-server] use = egg:gluster_swift#account +user = root +log_facility = LOG_LOCAL2 +# +# After ensuring things are running in a stable manner, you can turn off +# normal request logging for the account server to unclutter the log +# files. Warnings and errors will still be logged. +log_requests = on [account-replicator] vm_test_mode = yes diff --git a/etc/container-server.conf-gluster b/etc/container-server.conf-gluster index 2f488f1..a5ae298 100644 --- a/etc/container-server.conf-gluster +++ b/etc/container-server.conf-gluster @@ -1,17 +1,32 @@ [DEFAULT] devices = /mnt/gluster-object +# +# Once you are confident that your startup processes will always have your +# gluster volumes properly mounted *before* the container-server workers +# start, you can *consider* setting this value to "false" to reduce the +# per-request overhead it can incur. mount_check = true bind_port = 6011 -user = root -log_facility = LOG_LOCAL2 +# # Override swift's default behaviour for fallocate. disable_fallocate = true +# +# One or two workers should be sufficient for almost any installation of +# Gluster. +workers = 1 [pipeline:main] pipeline = container-server [app:container-server] use = egg:gluster_swift#container +user = root +log_facility = LOG_LOCAL2 +# +# After ensuring things are running in a stable manner, you can turn off +# normal request logging for the container server to unclutter the log +# files. Warnings and errors will still be logged. +log_requests = on [container-replicator] vm_test_mode = yes diff --git a/etc/fs.conf-gluster b/etc/fs.conf-gluster index 6a04000..44ad5f7 100644 --- a/etc/fs.conf-gluster +++ b/etc/fs.conf-gluster @@ -1,6 +1,7 @@ [DEFAULT] -# IP address of a GlusterFS volume server member. By default, we assume the -# local host. +# +# IP address of a node in the GlusterFS server cluster hosting the +# volumes to be served via Swift API. mount_ip = localhost # By default it is assumed the Gluster volumes can be accessed using other diff --git a/etc/object-server.conf-gluster b/etc/object-server.conf-gluster index 9c87b2c..cbffe75 100644 --- a/etc/object-server.conf-gluster +++ b/etc/object-server.conf-gluster @@ -1,7 +1,20 @@ [DEFAULT] devices = /mnt/gluster-object +# +# Once you are confident that your startup processes will always have your +# gluster volumes properly mounted *before* the object-server workers start, +# you can *consider* setting this value to "false" to reduce the per-request +# overhead it can incur. mount_check = true bind_port = 6010 +# +# Maximum number of clients one worker can process simultaneously (it will +# actually accept N + 1). Setting this to one (1) will only handle one request +# at a time, without accepting another request concurrently. By increasing the +# number of workers to a much higher value, one can prevent slow file system +# operations for one request from starving other requests. +max_clients = 1024 +# # If not doing the above, setting this value initially to match the number of # CPUs is a good starting point for determining the right value. workers = 1 @@ -15,19 +28,20 @@ pipeline = object-server use = egg:gluster_swift#object user = root log_facility = LOG_LOCAL2 -# Timeout clients that don't read or write to the proxy server after 5 -# seconds. -conn_timeout = 5 -# For high load situations, once connected to a container server, allow for -# delays communicating with it. -node_timeout = 60 +# +# For performance, after ensuring things are running in a stable manner, you +# can turn off normal request logging for the object server to reduce the +# per-request overhead and unclutter the log files. Warnings and errors will +# still be logged. +log_requests = on +# # Adjust this value to match the stripe width of the underlying storage array # (not the stripe element size). This will provide a reasonable starting point # for tuning this value. disk_chunk_size = 65536 -# Adjust this value match whatever is set for the disk_chunk_size -# initially. This will provide a reasonable starting point for tuning this -# value. +# +# Adjust this value match whatever is set for the disk_chunk_size initially. +# This will provide a reasonable starting point for tuning this value. network_chunk_size = 65556 [object-replicator] diff --git a/etc/proxy-server.conf-gluster b/etc/proxy-server.conf-gluster index bc46afa..6179014 100644 --- a/etc/proxy-server.conf-gluster +++ b/etc/proxy-server.conf-gluster @@ -1,7 +1,6 @@ [DEFAULT] bind_port = 8080 user = root -log_facility = LOG_LOCAL1 # Consider using 1 worker per CPU workers = 1 -- cgit