mars/test_suite/default-perftest.conf

156 lines
6.9 KiB
Bash

#!/bin/bash
# Copyright 2010-2013 Frank Liepold / 1&1 Internet AG
#
# Email: frank.liepold@1und1.de
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
## defaults for module perftest
## time for which the amount of data to sync must be constant
## to declare the sync process as inactive
perftest_time_constant_sync=20
## maxtime to wait for sync to stop
perftest_maxtime_sync=300
## flag whether the data device should be written simultaneously
perftest_parallel_writer=0
## amount of data in GB to be written to the data device
perftest_data_in_gb_to_write=10
## size of logfile (in GiB and rounded) after perftest_data_in_gb_to_write are written
perftest_logfile_size_in_gb=10
## time for which the amount of data to fetch must be constant to declare
## the fetch process as having stopped
perftest_time_constant_fetch=10
## maxtime to wait for fetch to stop (after pause-fetch)
perftest_maxtime_fetch=300
## maxtime to wait for apply to stop (after pause-apply)
perftest_maxtime_apply=100
## time for which the amount of data to apply must be constant to declare
## the apply process as having stopped
perftest_time_constant_apply=5
## error tag which will be printed if the runtime diff exceeds the
## required interval
perftest_errortag_result_out_of_bounds="PERFORMANCE-FAILURE"
## maxtime to wait for secondary to become disk state = Uptodate and
## repl state = Replaying in *prepare_for* functions
perftest_maxtime_state_constant=60
## array containing the required results (durations or rate (loops / minute)) of performance tests. A result consists of the
## required value and - comma separated - a tolerance given in percent.
## the index consists of host, action, flag whether a parallel writer to the data device is running, type of result,
## number of resources, sub testcase id
##
## for the sync tests the sub testcase id consist of: nunber of patches, patch length, sync mode
declare -g -A perftest_required_result_list
perftest_required_result_list=(\
["HOST","ACTION","PARALLEL_WRITER","RESULT_TYPE","NO_RESOURCES","GB_TO_FETCH_RESP_TO_APPLY"]=-1 \
["istore-test-bap7","apply",0,"time",1,"10"]=63,10 \
["istore-test-bap7","apply",1,"time",1,"10"]=63,10 \
["istore-test-bap7","fetch",0,"time",1,"10"]=155,10 \
["istore-test-bap7","fetch",1,"time",1,"10"]=223,10 \
["istore-test-bap7","fetch_and_apply",0,"time",1,"5"]=267,10 \
["istore-test-bap7","fetch_and_apply",1,"time",1,"5"]=336,10 \
["HOST","ACTION","PARALLEL_WRITER","RESULT_TYPE","NO_RESOURCES","GB_FETCHED_RESP_APPLIED"]=-1 \
["istore-test-bs7","write_while_apply",0,"loops_per_min",1,"10"]=16,10 \
["istore-test-bs7","write_while_fetch",0,"loops_per_min",1,"10"]=16,10 \
["istore-test-bs7","write_while_fetch_and_apply",0,"loops_per_min",1,"5"]=15,10 \
["HOST","ACTION","PARALLEL_WRITER","RESULT_TYPE","NO_RESOURCES","DURATION_OF_WRITE:DEVICE_SIZE:PART_OF_DEVICE_SIZE_WRITTEN_PER_LOOP"]=-1 \
["istore-test-bs7","write",0,"loops_per_min",1,"30:2:4"]=24,10 \
["HOST","ACTION","PARALLEL_WRITER","RESULT_TYPE","NO_RESOURCES","DURATION_OF_WRITE:DEVICE_SIZE:PART_OF_DEVICE_SIZE_WRITTEN_PER_LOOP:DIVISION_OF_DATA_AND_MARS_DEVICES"]=-1 \
["istore-test-bap7","write",0,"loops_per_min",1,"60:2:8:same_controller"]=28,10 \
["istore-test-bap7","write",0,"loops_per_min",1,"60:2:8:separated_and_mars_dev_with_bbu_cache"]=22,10 \
["istore-test-bap7","write",0,"loops_per_min",1,"60:2:8:separated_and_mars_dev_without_bbu_cache"]=10,10 \
["HOST","ACTION","PARALLEL_WRITER","RESULT_TYPE","NO_RESOURCES","NO_PATCHES:PATCH_LENGTH:SYNC_MODE"]=-1 \
["istore-test-bap7","sync",0,"time",1,"10:1:rsync"]=42,10 \
["istore-test-bap7","sync",0,"time",1,"10:50000:rsync"]=43,10 \
["istore-test-bap7","sync",0,"time",1,"4:500000:rsync"]=45,10 \
["istore-test-bap7","sync",0,"time",1,"2:1000000:rsync"]=49,10 \
["istore-test-bap7","sync",0,"time",1,"10:1:fast_sync"]=10,10 \
["istore-test-bap7","sync",0,"time",1,"10:50000:fast_sync"]=10,10 \
["istore-test-bap7","sync",0,"time",1,"4:500000:fast_sync"]=13,10 \
["istore-test-bap7","sync",0,"time",1,"2:1000000:fast_sync"]=18,10 \
["istore-test-bap7","sync",1,"time",1,"10:1:fast_sync"]=33,10 \
["istore-test-bs7","write_while_sync",0,"loops_per_min",1,"10:1:fast_sync"]=11,10 \
["istore-test-bap7","sync",1,"time",1,"10:50000:fast_sync"]=83,10 \
["istore-test-bs7","write_while_sync",0,"loops_per_min",1,"10:50000:fast_sync"]=12,10 \
["istore-test-bap7","sync",1,"time",1,"4:500000:fast_sync"]=60,10 \
["istore-test-bs7","write_while_sync",0,"loops_per_min",1,"4:500000:fast_sync"]=10,10 \
["istore-test-bap7","sync",1,"time",1,"2:1000000:fast_sync"]=56,10 \
["istore-test-bs7","write_while_sync",0,"loops_per_min",1,"2:1000000:fast_sync"]=10,10 \
["istore-test-bap7","sync",0,"time",1,"10:1:no_fast_sync"]=26,10 \
["istore-test-bap7","sync",0,"time",1,"10:50000:no_fast_sync"]=40,10 \
["istore-test-bap7","sync",0,"time",1,"4:500000:no_fast_sync"]=82,10 \
["istore-test-bap7","sync",0,"time",1,"2:1000000:no_fast_sync"]=31,10 \
["istore-test-bap7","sync",1,"time",1,"10:1:no_fast_sync"]=31,10 \
["istore-test-bs7","write_while_sync",0,"loops_per_min",1,"10:1:no_fast_sync"]=10,10 \
["istore-test-bap7","sync",1,"time",1,"10:50000:no_fast_sync"]=69,10 \
["istore-test-bs7","write_while_sync",0,"loops_per_min",1,"10:50000:no_fast_sync"]=10,10 \
["istore-test-bap7","sync",1,"time",1,"4:500000:no_fast_sync"]=71,10 \
["istore-test-bs7","write_while_sync",0,"loops_per_min",1,"4:500000:no_fast_sync"]=10,10 \
["istore-test-bap7","sync",1,"time",1,"2:1000000:no_fast_sync"]=78,10 \
["istore-test-bs7","write_while_sync",0,"loops_per_min",1,"2:1000000:no_fast_sync"]=10,10 \
)
## flag to check net throughput while waiting for fetch or sync to stop
perftest_check_net_throughput=1
## flag whether the performance influence of splitting /mars device and data
## device on different raid controllers is to be measured
perftest_division_mars_device_data_device=0
## after this number of checks whether fetch or sync have stopped, the net throughput is checked
perftest_check_net_throughput_intervall=2
## port on which nttcp tests the network connection
perftest_nttcp_port=12346
## command to start nttcp receiver
perftest_nttcp_start_cmd="nttcp -p $perftest_nttcp_port -r -i"
## type of result of tests
perftest_result_type="time"
## proc file to switch sync modus
perftest_sync_mode_proc_file='/proc/sys/mars/do_fast_fullsync'