diff options
| author | David Wolinsky <davidiw@fb.com> | 2015-10-08 16:05:20 -0700 |
|---|---|---|
| committer | Jeff Darcy <jeff@pl.atyp.us> | 2017-07-14 13:41:42 +0000 |
| commit | bc02e5423d097aff5280a849b7c6e6cf5d63ef96 (patch) | |
| tree | c4901be6b501a5df5588ee46949b4bc5626c9063 /tests/basic/cache.t | |
| parent | e8029ec1fc205b5dace0c29ae3d1fe5b960e54fc (diff) | |
[io-cache] cache statfs
Summary:
cache calls to statfs
- io-cache must be enabled
- then enable statfs caching
- also can configure an independent cache time
Test Plan: unit test basic/cache.t
Reviewers: rwareing, sshreyas
Subscribers: rappleye
Differential Revision: https://phabricator.fb.com/D2524471
Change-Id: I55e0a773f9e24c2358d6fbbabbaf58bd5bd89ffc
Tasks: 8618383
Reviewed-on: https://review.gluster.org/17771
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Jeff Darcy <jeff@pl.atyp.us>
Tested-by: Jeff Darcy <jeff@pl.atyp.us>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'tests/basic/cache.t')
| -rw-r--r-- | tests/basic/cache.t | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/basic/cache.t b/tests/basic/cache.t new file mode 100644 index 00000000000..92251732f4a --- /dev/null +++ b/tests/basic/cache.t @@ -0,0 +1,69 @@ +#!/bin/bash +# + +FILE=/var/log/glusterfs/samples/glusterfs_patchy.samp +rm $FILE + +. $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc + +function print_cnt() { + local FOP_TYPE=$1 + local FOP_CNT=$(grep ,${FOP_TYPE} $FILE | wc -l) + echo $FOP_CNT +} + +function print_avg() { + local FOP_TYPE=$1 + local FILE=/var/log/glusterfs/samples/glusterfs_patchy.samp + local FOP_AVG=$(grep -oE "${FOP_TYPE},[0-9]+\." ${FILE} | grep -oE '[0-9]+' | awk 'NR == 1 { sum = 0 } { sum += $1; } END {printf "%d", sum/NR}') + echo $FOP_AVG +} + +cleanup; +TEST glusterd +TEST pidof glusterd +TEST $CLI volume create $V0 replica 3 $H0:$B0/${V0}{0,1,2} +TEST $CLI volume set $V0 nfs.disable off +TEST $CLI volume set $V0 diagnostics.latency-measurement on +TEST $CLI volume set $V0 diagnostics.count-fop-hits on +TEST $CLI volume set $V0 diagnostics.fop-sample-buf-size 65535 +TEST $CLI volume set $V0 diagnostics.fop-sample-interval 1 +TEST $CLI volume set $V0 diagnostics.stats-dump-interval 1 +TEST $CLI volume start $V0 +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 --attribute-timeout=0 --entry-timeout=0 + +for i in {1..100} +do + df $M0 &> /dev/null +done + +sleep 6 + +# Get average +STATFS_CNT0=$(print_cnt STATFS) +TEST [ "$STATFS_CNT0" -gt "0" ] +STATFS_AVG0=$(print_avg STATFS) +# Make it easier to compute averages +rm $FILE + +TEST $CLI volume set $V0 performance.nfs.io-cache on +TEST $CLI volume set $V0 performance.statfs-cache on +TEST $CLI volume set $V0 performance.statfs-cache-timeout 10 + +for i in {1..100} +do + df $M0 &> /dev/null +done + +sleep 6 + +# Get average +STATFS_CNT1=$(print_cnt STATFS) +TEST [ "$STATFS_CNT1" -eq "$STATFS_CNT0" ] +STATFS_AVG1=$(print_avg STATFS) + +# Verify that cached average * 10 is still faster than uncached +STATFS_AVG1x10=$(($STATFS_AVG1 * 10)) +TEST [ "$STATFS_AVG0" -gt "$STATFS_AVG1x10" ] +#cleanup |
