~ubuntu-branches/debian/jessie/sysbench/jessie

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Hendrik Frenzel
  • Date: 2009-02-23 00:32:52 UTC
  • Revision ID: james.westby@ubuntu.com-20090223003252-u6psmnqbivepsj0n
Tags: upstream-0.4.10
ImportĀ upstreamĀ versionĀ 0.4.10

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
SysBench:  System evaluation benchmark
 
2
 
 
3
 
 
4
Why ?
 
5
The idea is to quickly get an impression about system performance for MySQL
 
6
usage without setting up complex benchmark and even without installing MySQL.
 
7
In some cases this is very helpful. This is also the reason for having
 
8
everything in simple file not depending on any external libraries.
 
9
 
 
10
Description:
 
11
This benchmark was designed for identifying basic system parameters, as they
 
12
are important for system using MySQL (w Innodb) under intensive load.
 
13
Handling of IO in case of many parallel requests, checked as well as 
 
14
memory allocation/transfer speed and scheduler performance. 
 
15
CPU is benchmarked by using 64bit integer manipulation using Euklid 
 
16
algorithms for prime number computation. 
 
17
Benchmarks are designed to show benefit of multiple CPUs as well as of
 
18
multiple hard drives, battery backed up write cache.
 
19
 
 
20
Sequential read/writes test is a bit tricky, it means request are just given
 
21
out sequentially, but there is no guaranty they will be actually executed this
 
22
way, it could result in some sort of random IO in case of bad IO or threads
 
23
scheduler
 
24
 
 
25
Installing:
 
26
See the file INSTALL for generic installation instructions.
 
27
In most cases you will need the following steps:
 
28
    ./configure (or ./configure --without-mysql to compile w/o MySQL support)
 
29
    make
 
30
    make install
 
31
 
 
32
Running:
 
33
The general syntax is
 
34
    sysbench [<general-options>] [<test-options>] <command>
 
35
To see available options, tests and commands type:
 
36
    sysbench help
 
37
or
 
38
    sysbench --test=<name> help
 
39
to see options supported by a specified test. Default values for the options
 
40
are specified in brackets after description.
 
41
Currently supported commands are help, run and create-db (for the MySQL test).
 
42
The latter will create a table and fill it with values required to run the 
 
43
MySQL test, using database, table name and size passed as MySQL test options. 
 
44
 
 
45
Notes:
 
46
* Make sure number of threads is at least 2 times of numbers CPUs you have.
 
47
* For the fileio test make sure you're using file size which is at least 5 
 
48
times larger than your memory for reliable results. Make sure to use enough 
 
49
files to keep size of each less than 2/4G. 
 
50
* For the threads test --thread-locks should be at least 2 times less than 
 
51
number of threads.
 
52
* If you're running on 64bit CPU make sure to compile 64bit binary for good
 
53
results. 
 
54
 
 
55
 
 
56
Basic design:
 
57
This test is designed to be easily extensible to add your own test operations,
 
58
as well as create operation mixes to benchmark some particular load.
 
59
The architecture is very simple. Several threads are started and they all
 
60
run in the loop asking for requests from get_request() function,  until
 
61
NULL operation is received. For each request execute_request() is executed,
 
62
which runs it as designed. This allows to design test highly scalable as well
 
63
as producing large amount of conflicts if needed for test case.
 
64
 
 
65
Bug reporting:
 
66
Please report any bugs you encounter to <alexeyk@mysql.com>.