diff options
author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2014-03-06 08:13:57 -0500 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2014-03-07 12:11:28 -0800 |
commit | 0e8e79350947b9dedd02b1cc2339b8dc42ca599d (patch) | |
tree | 17bd034cb7ab5ae119eee53145d0e57dbffcc648 /xlators/protocol/server | |
parent | 1877ba6a840d45f7454281533bba8d10893cbbe9 (diff) |
gNFS: Set default outstanding RPC limit to 16
Backport of http://review.gluster.org/#/c/6696/
With 64, NFS server hangs with large I/O load (~ 64 threads writing
to NFS server). The test results from Ben England (Performance expert)
suggest to set it as 16 instead of 64.
Change-Id: Iaa9dda512904d2e359d8122a05e5bf65f99a7e78
BUG: 1073441
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.org/7200
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Santosh Pradhan <spradhan@redhat.com>
Diffstat (limited to 'xlators/protocol/server')
-rw-r--r-- | xlators/protocol/server/src/server.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c index 1e23630c2f6..a8597ca194a 100644 --- a/xlators/protocol/server/src/server.c +++ b/xlators/protocol/server/src/server.c @@ -746,7 +746,15 @@ reconfigure (xlator_t *this, dict_t *options) (void) rpcsvc_set_allow_insecure (rpc_conf, options); (void) rpcsvc_set_root_squash (rpc_conf, options); - (void) rpcsvc_set_outstanding_rpc_limit (rpc_conf, options); + + ret = rpcsvc_set_outstanding_rpc_limit (rpc_conf, options, + RPCSVC_DEFAULT_OUTSTANDING_RPC_LIMIT); + if (ret < 0) { + gf_log (this->name, GF_LOG_ERROR, + "Failed to reconfigure outstanding-rpc-limit"); + goto out; + } + list_for_each_entry (listeners, &(rpc_conf->listeners), list) { if (listeners->trans != NULL) { if (listeners->trans->reconfigure ) @@ -860,12 +868,20 @@ init (xlator_t *this) /* RPC related */ conf->rpc = rpcsvc_init (this, this->ctx, this->options, 0); if (conf->rpc == NULL) { - gf_log (this->name, GF_LOG_WARNING, + gf_log (this->name, GF_LOG_ERROR, "creation of rpcsvc failed"); ret = -1; goto out; } + ret = rpcsvc_set_outstanding_rpc_limit (conf->rpc, this->options, + RPCSVC_DEFAULT_OUTSTANDING_RPC_LIMIT); + if (ret < 0) { + gf_log (this->name, GF_LOG_ERROR, + "Failed to configure outstanding-rpc-limit"); + goto out; + } + ret = rpcsvc_create_listeners (conf->rpc, this->options, this->name); if (ret < 1) { |