summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <paul@snake-hub.snake.net>2006-03-03 12:15:01 -0600
committerunknown <paul@snake-hub.snake.net>2006-03-03 12:15:01 -0600
commitf31783ccce1b0a42c09116cd1f279ce0ef576a72 (patch)
tree0dc3db2045527f2e12fadb305c25dbfe087910cc
parent2ec1d015a94b1ab7c559421db2e43fc2d2ac25e6 (diff)
downloadmariadb-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.stress114
-rwxr-xr-xmysql-test/mysql-stress-test.pl21
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:
#