diff options
author | unknown <paul@snake-hub.snake.net> | 2006-03-03 12:15:01 -0600 |
---|---|---|
committer | unknown <paul@snake-hub.snake.net> | 2006-03-03 12:15:01 -0600 |
commit | f31783ccce1b0a42c09116cd1f279ce0ef576a72 (patch) | |
tree | 0dc3db2045527f2e12fadb305c25dbfe087910cc | |
parent | 2ec1d015a94b1ab7c559421db2e43fc2d2ac25e6 (diff) | |
download | mariadb-git-f31783ccce1b0a42c09116cd1f279ce0ef576a72.tar.gz |
mysql-stress-test.pl, README.stress:
Revise stress-test README
mysql-test/README.stress:
Revise stress-test README
mysql-test/mysql-stress-test.pl:
Revise stress-test README
-rw-r--r-- | mysql-test/README.stress | 114 | ||||
-rwxr-xr-x | mysql-test/mysql-stress-test.pl | 21 |
2 files changed, 70 insertions, 65 deletions
diff --git a/mysql-test/README.stress b/mysql-test/README.stress index 001ecceef1b..6be4e9a0236 100644 --- a/mysql-test/README.stress +++ b/mysql-test/README.stress @@ -2,114 +2,118 @@ Overview -------- -Stress script is designed to perform testsing of mysql server in -multi-thread environment. +The stress script is designed to perform testing of the MySQL server in +a multi-threaded environment. -Stress script allows: +All functionality regarding stress testing is implemented in the +mysql-stress-test.pl script. + +The stress script allows: - - to use for stress testing mysqltest binary as test engine - - to use for stress testing both regular test suite and any - additional test suites (e.g. mysql-test-extra-5.0) - - to specify files with lists of tests both for initialization of - stress db and for further testing itself - - to define number of threads that will be concurrently used in testing - - to define limitations for test run. e.g. number of tests or loops - for execution or duration of testing, delay between test executions, etc. - - to get readable log file which can be used for identification of - errors arose during testing - -All functionality regarding stress testing was implemeted in -mysql-stress-test.pl script and there are two ways to run stress test: - - - for most cases it is enough to use options below for starting of - stress test from mysql-test-run wrapper. In this case server will - be run automatically, all preparation steps will be performed - and after that stress test will be started. - - - in advanced case one can run mysql-stress-test.pl script directly. - But it requires to perform some preparation steps and to specify a - bunch of options as well so this way may look a bit complicate. + - To stress test the mysqltest binary test engine. + - To stress test the regular test suite and any additional test suites + (such as mysql-test-extra-5.0). + - To specify files with lists of tests both for initialization of + stress db and for further testing itself. + - To define the number of threads to be concurrently used in testing. + - To define limitations for the test run. such as the number of tests or + loops for execution or duration of testing, delay between test + executions, and so forth. + - To get a readable log file that can be used for identification of + errors that occur during testing. + +There are two ways to run the mysql-stress-test.pl script: + + - For most cases, it is enough to use the options below for starting + the stress test from the mysql-test-run wrapper. In this case, the + server is run automatically, all preparation steps are performed, + and after that the stress test is started. + + - In advanced case, you can run the mysql-stress-test.pl script directly. + But this requires that you perform some preparation steps and to specify + a bunch of options as well, so this invocation method may be a bit + complicated. Usage ----- -Below is list of stress test specific options for mysql-test-run: +The following mysql-test-run options are specific to stress-testing: --stress Enable stress mode --stress-suite=<suite name> - Test suite name that will be used in stress testing. - We assume that all suites are located in mysql-test/suite directory + Test suite name to use in stress testing. We assume that all suites + are located in the mysql-test/suite directory. There is one special suite name - <main|default> that corresponds - to regular test suite located in mysql-test directory. + to the regular test suite located in the mysql-test directory. --stress-threads=<number of threads> - Number of threads that will be used in stress testing + The number of threads to use in stress testing. --stress-tests-file=<filename with list of tests> - Filename with list of tests(without .test suffix) that will be used in - stress testing. Default filename is stress_tests.txt and default + The file that contains the list of tests (without .test suffix) to use in + stress testing. The default filename is stress_tests.txt and the default location of this file is suite/<suite name>/stress_tests.txt --stress-init-file=<filename with list of tests> - Filename with list of tests(without .test suffix) that will be used in - stress testing for initialization of stress db. These tests will be - executed only once before starting of test itself. Default filename - is stress_init.txt and default location of this file is + The file that contains list of tests (without .test suffix) to use in + stress testing for initialization of the stress db. These tests will be + executed only once before starting the test itself. The default filename + is stress_init.txt and the default location of this file is suite/<suite name>/stress_init.txt --stress-mode=<method which will be used for choosing tests from the list> Possible values are: random(default), seq - There are two possible modes which affect order of selecting of tests + There are two possible modes that affect the order of test selection from the list: - - in random mode tests will be selected in random order - - in seq mode each thread will execute tests in the loop one by one as - they specified in the list file. + - In random mode, tests are selected in random order + - In seq mode, each thread executes tests in a loop one by one in + the order specified in the list file. ---stress-test-count= <number> +--stress-test-count=<number> Total number of tests that will be executed concurrently by all threads ---stress-loop-count= <number> +--stress-loop-count=<number> Total number of loops in seq mode that will be executed concurrently by all threads ---stress-test-duration= <number> +--stress-test-duration=<number> Duration of stress testing in seconds Examples -------- -1. Example of simple command line to start stress test: +1. Example of a simple command line to start a stress test: mysql-test-run --stress alias -Runs stress test with default values for number of threads and number of tests, -with test 'alias' from suite 'main'. +Runs a stress test with default values for number of threads and number +of tests, with test 'alias' from suite 'main'. 2. Using in stress testing tests from other suites: - mysql-test-run --stress --stress-threads=10 --stress-test-count=1000 \ --stress-suite=example --stress-tests-file=testslist.txt - Will run stress test with 10 threads, will execute 1000 tests by all - threads, test will be used from suite 'example', list of test will be + Runs a stress test with 10 threads, executes 1000 tests by all + threads, tests are used from suite 'example', the list of tests is taken from file 'testslist.txt' - mysql-test-run --stress --stress-threads=10 --stress-test-count=1000 \ --stress-suite=example sum_distinct - Will run stress test with 10 threads, will execute 1000 tests by all - threads, test will be used from suite 'example', list of test contains - only one test 'sum_distinct' + Runs stress test with 10 threads, executes 1000 tests by all + threads, tests are used from suite 'example', the list of tests + contains only one test 'sum_distinct' 3. Debugging of issues found with stress test - Right now stress test is not fully integrated in mysql-test-run - and does not support --gdb option so to debug issue found with stress - test you have to start separately mysql server under debuger and then - run stress test as: + Right now, the stress test is not fully integrated in mysql-test-run + and does not support the --gdb option. To debug issues found with the + stress test, you must start the MySQL server separately under a debugger + and then run the stress test like this: - mysql-test-run --extern --stress --stress-threads=10 \ --stress-test-count=1000 --stress-suite=example \ diff --git a/mysql-test/mysql-stress-test.pl b/mysql-test/mysql-stress-test.pl index 899dd06a746..3061506da51 100755 --- a/mysql-test/mysql-stress-test.pl +++ b/mysql-test/mysql-stress-test.pl @@ -14,16 +14,17 @@ # # Design of stress script should allow one: # -# - to use for stress testing mysqltest binary as test engine -# - to use for stress testing both regular test suite and any -# additional test suites (e.g. mysql-test-extra-5.0) -# - to specify files with lists of tests both for initialization of -# stress db and for further testing itself -# - to define number of threads that will be concurrently used in testing -# - to define limitations for test run. e.g. number of tests or loops -# for execution or duration of testing, delay between test executions, etc. -# - to get readable log file which can be used for identification of -# errors arose during testing +# - To stress test the mysqltest binary test engine. +# - To stress test the regular test suite and any additional test suites +# (such as mysql-test-extra-5.0). +# - To specify files with lists of tests both for initialization of +# stress db and for further testing itself. +# - To define the number of threads to be concurrently used in testing. +# - To define limitations for the test run. such as the number of tests or +# loops for execution or duration of testing, delay between test +# executions, and so forth. +# - To get a readable log file that can be used for identification of +# errors that occur during testing. # # Basic scenarios: # |