diff options
author | Poornima G <pgurusid@redhat.com> | 2017-04-12 15:24:14 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2017-04-20 00:18:52 -0400 |
commit | 561766e45a323be3d5c521fdb47f68d71cea776e (patch) | |
tree | 4f2505ff34a5d64caeb7fc1c1693f729a84c956a /xlators/mgmt | |
parent | 2aeca0ef02733ebd9b7979e4c27585f3ebff53d7 (diff) |
Implement negative lookup cache
Before creating any file negative lookups(1 in Fuse, 4 in SMB etc.)
are sent to verify if the file already exists. By serving these
lookups from the cache when possible, increases the create
performance by multiple folds in SMB access and some percentage
in Fuse/NFS access.
Feature page: https://review.gluster.org/#/c/16436
Updates #82
Change-Id: Ib1c0e7ac7a386f943d84f6398c27f9a03665b2a4
BUG: 1442569
Signed-off-by: Poornima G <pgurusid@redhat.com>
Reviewed-on: https://review.gluster.org/16952
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'xlators/mgmt')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volume-set.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c index 8d944a546b2..d8005fd8d96 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c @@ -2020,6 +2020,16 @@ struct volopt_map_entry glusterd_volopt_map[] = { .flags = OPT_FLAG_CLIENT_OPT | OPT_FLAG_XLATOR_OPT }, + { .key = "performance.nl-cache", + .voltype = "performance/nl-cache", + .option = "!perf", + .value = "off", + .op_version = GD_OP_VERSION_3_11_0, + .description = "enable/disable negative entry caching translator in " + "the volume. Enabling this option improves performance" + " of 'create file/directory' workload", + .flags = OPT_FLAG_CLIENT_OPT | OPT_FLAG_XLATOR_OPT + }, { .key = "performance.stat-prefetch", .voltype = "performance/md-cache", .option = "!perf", @@ -3249,6 +3259,27 @@ struct volopt_map_entry glusterd_volopt_map[] = { .flags = OPT_FLAG_CLIENT_OPT, .op_version = GD_OP_VERSION_3_9_1, }, + { .key = "performance.nl-cache-positive-entry", + .voltype = "performance/nl-cache", + .value = "on", + .type = DOC, + .flags = OPT_FLAG_CLIENT_OPT, + .op_version = GD_OP_VERSION_3_11_0, + .description = "enable/disable storing of entries that were lookedup" + " and found to be present in the volume, thus lookup" + " on non existant file is served from the cache", + }, + { .key = "performance.nl-cache-limit", + .voltype = "performance/nl-cache", + .value = "10MB", + .flags = OPT_FLAG_CLIENT_OPT, + .op_version = GD_OP_VERSION_3_11_0, + }, + { .key = "performance.nl-cache-timeout", + .voltype = "performance/nl-cache", + .flags = OPT_FLAG_CLIENT_OPT, + .op_version = GD_OP_VERSION_3_11_0, + }, /* Brick multiplexing options */ { .key = GLUSTERD_BRICK_MULTIPLEX_KEY, |