C Shell Objective-C XSLT
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
SysBench: System evaluation benchmark Why ? The idea is to quickly get an impression about system performance for MySQL usage without setting up complex benchmark and even without installing MySQL. In some cases this is very helpful. This is also the reason for having everything in simple file not depending on any external libraries. Description: This benchmark was designed for identifying basic system parameters, as they are important for system using MySQL (w Innodb) under intensive load. Handling of IO in case of many parallel requests, checked as well as memory allocation/transfer speed and scheduler performance. CPU is benchmarked by using 64bit integer manipulation using Euklid algorithms for prime number computation. Benchmarks are designed to show benefit of multiple CPUs as well as of multiple hard drives, battery backed up write cache. Sequential read/writes test is a bit tricky, it means request are just given out sequentially, but there is no guaranty they will be actually executed this way, it could result in some sort of random IO in case of bad IO or threads scheduler Installing: See the file INSTALL for generic installation instructions. In most cases you will need the following steps: ./configure (or ./configure --without-mysql to compile w/o MySQL support) make make install Running: The general syntax is sysbench [<general-options>] [<test-options>] <command> To see available options, tests and commands type: sysbench help or sysbench --test=<name> help to see options supported by a specified test. Default values for the options are specified in brackets after description. Currently supported commands are help, run and create-db (for the MySQL test). The latter will create a table and fill it with values required to run the MySQL test, using database, table name and size passed as MySQL test options. Notes: * Make sure number of threads is at least 2 times of numbers CPUs you have. * For the fileio test make sure you're using file size which is at least 5 times larger than your memory for reliable results. Make sure to use enough files to keep size of each less than 2/4G. * For the threads test --thread-locks should be at least 2 times less than number of threads. * If you're running on 64bit CPU make sure to compile 64bit binary for good results. Basic design: This test is designed to be easily extensible to add your own test operations, as well as create operation mixes to benchmark some particular load. The architecture is very simple. Several threads are started and they all run in the loop asking for requests from get_request() function, until NULL operation is received. For each request execute_request() is executed, which runs it as designed. This allows to design test highly scalable as well as producing large amount of conflicts if needed for test case. Bug reporting: Please report any bugs you encounter to <email@example.com>.