Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
6fa48811
Commit
6fa48811
authored
Mar 03, 2006
by
paul@snake-hub.snake.net
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mysql-stress-test.pl, README.stress:
Revise stress-test README
parent
7410560b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
70 additions
and
65 deletions
+70
-65
mysql-test/README.stress
mysql-test/README.stress
+59
-55
mysql-test/mysql-stress-test.pl
mysql-test/mysql-stress-test.pl
+11
-10
No files found.
mysql-test/README.stress
View file @
6fa48811
...
@@ -2,114 +2,118 @@
...
@@ -2,114 +2,118 @@
Overview
Overview
--------
--------
Stress script is designed to perform testsing of mysql
server in
The stress script is designed to perform testing of the MySQL
server in
multi-threa
d environment.
a multi-threade
d 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 stress test the mysqltest binary test engine.
- to use for stress testing both regular test suite and any
- To stress test the regular test suite and any additional test suites
additional test suites (e.g. mysql-test-extra-5.0)
(such as mysql-test-extra-5.0).
- to specify files with lists of tests both for initialization of
- To specify files with lists of tests both for initialization of
stress db and for further testing itself
stress db and for further testing itself.
- to define number of threads that will be concurrently used in testing
- To define the number of threads to be concurrently used in testing.
- to define limitations for test run. e.g. number of tests or loops
- To define limitations for the test run. such as the number of tests or
for execution or duration of testing, delay between test executions, etc.
loops for execution or duration of testing, delay between test
- to get readable log file which can be used for identification of
executions, and so forth.
errors arose during testing
- To get a readable log file that can be used for identification of
errors that occur during testing.
All functionality regarding stress testing was implemeted in
mysql-stress-test.pl script and there are two ways to run stress test:
There are two ways to run the mysql-stress-test.pl script:
- for most cases it is enough to use options below for starting of
- For most cases, it is enough to use the options below for starting
stress test from mysql-test-run wrapper. In this case server will
the stress test from the mysql-test-run wrapper. In this case, the
be run automatically, all preparation steps will be performed
server is run automatically, all preparation steps are performed,
and after that stress test will be started.
and after that the stress test is started.
- in advanced case one can run mysql-stress-test.pl script directly.
- In advanced case, you can run the mysql-stress-test.pl script directly.
But it requires to perform some preparation steps and to specify a
But this requires that you perform some preparation steps and to specify
bunch of options as well so this way may look a bit complicate.
a bunch of options as well, so this invocation method may be a bit
complicated.
Usage
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
--stress
Enable stress mode
Enable stress mode
--stress-suite=<suite name>
--stress-suite=<suite name>
Test suite name t
hat will be used in stress testing.
Test suite name t
o use in stress testing. We assume that all suites
We assume that all suites are located in mysql-test/suite directory
are located in the mysql-test/suite directory.
There is one special suite name - <main|default> that corresponds
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>
--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>
--stress-tests-file=<filename with list of tests>
Filename with list of tests(without .test suffix) that will be used
in
The file that contains the list of tests (without .test suffix) to use
in
stress testing.
Default filename is stress_tests.txt and
default
stress testing.
The default filename is stress_tests.txt and the
default
location of this file is suite/<suite name>/stress_tests.txt
location of this file is suite/<suite name>/stress_tests.txt
--stress-init-file=<filename with list of tests>
--stress-init-file=<filename with list of tests>
Filename with list of tests(without .test suffix) that will be used
in
The file that contains list of tests (without .test suffix) to use
in
stress testing for initialization of stress db. These tests will be
stress testing for initialization of
the
stress db. These tests will be
executed only once before starting
of test itself. D
efault filename
executed only once before starting
the test itself. The d
efault filename
is stress_init.txt and default location of this file is
is stress_init.txt and
the
default location of this file is
suite/<suite name>/stress_init.txt
suite/<suite name>/stress_init.txt
--stress-mode=<method which will be used for choosing tests from the list>
--stress-mode=<method which will be used for choosing tests from the list>
Possible values are: random(default), seq
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:
from the list:
-
in random mode tests will b
e selected in random order
-
In random mode, tests ar
e selected in random order
-
in seq mode each thread will execute tests in the loop one by one as
-
In seq mode, each thread executes tests in a loop one by one in
they
specified in the list file.
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
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
Total number of loops in seq mode that will be executed concurrently
by all threads
by all threads
--stress-test-duration=
<number>
--stress-test-duration=<number>
Duration of stress testing in seconds
Duration of stress testing in seconds
Examples
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
mysql-test-run --stress alias
Runs
stress test with default values for number of threads and number of tests,
Runs
a stress test with default values for number of threads and number
with test 'alias' from suite 'main'.
of tests,
with test 'alias' from suite 'main'.
2. Using in stress testing tests from other suites:
2. Using in stress testing tests from other suites:
- mysql-test-run --stress --stress-threads=10 --stress-test-count=1000 \
- mysql-test-run --stress --stress-threads=10 --stress-test-count=1000 \
--stress-suite=example --stress-tests-file=testslist.txt
--stress-suite=example --stress-tests-file=testslist.txt
Will run stress test with 10 threads, will execute
1000 tests by all
Runs a stress test with 10 threads, executes
1000 tests by all
threads, test
will be used from suite 'example', list of test will be
threads, test
s are used from suite 'example', the list of tests is
taken from file 'testslist.txt'
taken from file 'testslist.txt'
- mysql-test-run --stress --stress-threads=10 --stress-test-count=1000 \
- mysql-test-run --stress --stress-threads=10 --stress-test-count=1000 \
--stress-suite=example sum_distinct
--stress-suite=example sum_distinct
Will run stress test with 10 threads, will execute
1000 tests by all
Runs stress test with 10 threads, executes
1000 tests by all
threads, test
will be used from suite 'example', list of test contains
threads, test
s are used from suite 'example', the list of tests
only one test 'sum_distinct'
contains
only one test 'sum_distinct'
3. Debugging of issues found with stress test
3. Debugging of issues found with stress test
Right now stress test is not fully integrated in mysql-test-run
Right now
, the
stress test is not fully integrated in mysql-test-run
and does not support
--gdb option so to debug issue found with stress
and does not support
the --gdb option. To debug issues found with the
test you have to start separately mysql server under debuger and then
stress test, you must start the MySQL server separately under a debugger
run stress test a
s:
and then run the stress test like thi
s:
- mysql-test-run --extern --stress --stress-threads=10 \
- mysql-test-run --extern --stress --stress-threads=10 \
--stress-test-count=1000 --stress-suite=example \
--stress-test-count=1000 --stress-suite=example \
...
...
mysql-test/mysql-stress-test.pl
View file @
6fa48811
...
@@ -14,16 +14,17 @@
...
@@ -14,16 +14,17 @@
#
#
# Design of stress script should allow one:
# Design of stress script should allow one:
#
#
# - to use for stress testing mysqltest binary as test engine
# - To stress test the mysqltest binary test engine.
# - to use for stress testing both regular test suite and any
# - To stress test the regular test suite and any additional test suites
# additional test suites (e.g. mysql-test-extra-5.0)
# (such as mysql-test-extra-5.0).
# - to specify files with lists of tests both for initialization of
# - To specify files with lists of tests both for initialization of
# stress db and for further testing itself
# stress db and for further testing itself.
# - to define number of threads that will be concurrently used in testing
# - To define the number of threads to be concurrently used in testing.
# - to define limitations for test run. e.g. number of tests or loops
# - To define limitations for the test run. such as the number of tests or
# for execution or duration of testing, delay between test executions, etc.
# loops for execution or duration of testing, delay between test
# - to get readable log file which can be used for identification of
# executions, and so forth.
# errors arose during testing
# - To get a readable log file that can be used for identification of
# errors that occur during testing.
#
#
# Basic scenarios:
# Basic scenarios:
#
#
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment