Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Database \ MySQL use benchmarking tool sysbench     - Varnish configuration language VCL and its built-in variables (Server)

- Arduino UNO simulation development environment set up and run simulation (Linux)

- Modern Objective-C syntax and new features (Programming)

- ASP.NET 5 (vNext) Linux deployment (Server)

- To install Jetty server configuration in detail (Server)

- Mac OS X 10.9 build Nginx + MySQL + php-fpm environment (Server)

- C # assembly calls across constants, variables and functions (Programming)

- Linux kernel VLAN study notes (Programming)

- HTTP and HTTPS request response process difference (Linux)

- Analysis of MySQL High Availability (Database)

- Ubuntu batch scp to copy files without password (Linux)

- CentOS 6 Install Xen4.2 Virtualization Practice (Linux)

- SpringMVC the use of interceptors (Programming)

- Linux command line to put on your coat GUI (Linux)

- Android start automatically and add and delete a desktop shortcut (Programming)

- Linux RHCS basic maintenance commands (Linux)

- Install Java JDK 8 in CentOS 7 / 6.5 / 6.4 (Linux)

- Customize the output format in Linux history (Linux)

- Linux system on how to use rsync to synchronize data (Server)

- Depth understanding of C language (Programming)

 
         
  MySQL use benchmarking tool sysbench
     
  Add Date : 2018-11-21      
         
         
         
  Innodb engine for database applications, users may be more concerned and oltp disk performance, and therefore the main test fileio oltp two projects

Test fileio
[Root @ iZ257l556beZ ~] # sysbench --test = fileio help
sysbench 0.4.12: multi-threaded system evaluation benchmark


fileio options:
  --file-num = N number of files to create [128]
  --file-block-size = N block size to use in all IO operations [16384]
  --file-total-size = SIZE total size of files to create [2G]
  --file-test-mode = STRING test mode {seqwr, seqrewr, seqrd, rndrd, rndwr, rndrw}
  --file-io-mode = STRING file operations mode {sync, async, fastmmap, slowmmap} [sync]
  --file-async-backlog = N number of asynchronous operatons to queue per thread [128]
  --file-extra-flags = STRING additional flags to use on opening files {sync, dsync, direct} []
  --file-fsync-freq = N do fsync () after this number of requests (0 - do not use fsync ()) [100]
  --file-fsync-all = [on | off] do fsync () after each write operation [off]
  --file-fsync-end = [on | off] do fsync () at the end of test [on]
  --file-fsync-mode = STRING which method to use for synchronization {fsync, fdatasync} [fsync]
  --file-merged-requests = N merge at most this number of IO requests if possible (0 - do not merge) [0]
  --file-rw-ratio = N reads / writes ratio for combined test [1.5]


Wherein the test mode into continuous / sequential write (seqwr), continuous rewrite (seqrewr), continuous reading (seqrd), random read (rndrd), random write (rndwr), random access (rndrw) six of them.
In man manual test sample, for example, requires a three-step test, such as:

$ Sysbench --num-threads = 16 --test = fileio --file-total-size = 3G --file-test-mode = rndrw prepare - prepare
$ Sysbench --num-threads = 16 --test = fileio --file-total-size = 3G --file-test-mode = rndrw run - test
$ Sysbench --num-threads = 16 --test = fileio --file-total-size = 3G --file-test-mode = rndrw cleanup - Clear test file

The first step in the implementation of test files generation
sysbench --num-threads = 16 - test = fileio --file-total-size = 3G - file-test-mode = rndrw prepare


Run the test for the second operation:

$ Sysbench --num-threads = 16 --test = fileio --file-total-size = 3G --file-test-mode = rndrw run
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 16
Extra file open flags: 0
128 files, 24Mb each
3Gb total file size
Block size 16Kb
Number of random requests for random IO: 10000 - by max-requests parameter setting, the maximum number of requests
Read / Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync () each 100 requests.
Calling fsync () at the end of test, Enabled.
Using synchronous I / O mode
Doing random r / w test
Threads
Done.
Operations performed: 6000 Read, 4002 Write, 12800 Other = 22802 Total
Read 93.75Mb Written 62.531Mb Total transferred 156.28Mb (2.8256Mb / sec) --- random write performance
  180.84 Requests / sec executed - random write iops
Test execution summary:
    total time: 55.3085s
    total number of events: 10002
    total time taken by event execution: 306.1095
    per-request statistics:
         min: 0.00ms
         avg: 30.60ms
         max: 508.92ms
         . Approx 95 percentile: 162.07ms
Threads fairness:
    events (avg / stddev): 625.1250 / 66.54
    execution time (avg / stddev): 19.1318 / 1.07
Note: The actual test several models of each one of them the best test comparison.
OLTP database performance testing


[Root @ iZ257l556beZ soft] # sysbench --test = oltp help
sysbench 0.4.12: multi-threaded system evaluation benchmark
oltp options:
  --oltp-test-mode = STRING test type to use {simple, complex, nontrx, sp} [complex]
  --oltp-reconnect-mode = STRING reconnect mode {session, transaction, query, random} [session]
  --oltp-sp-name = STRING name of store procedure to call in SP test mode []
  --oltp-read-only = [on | off] generate only 'read' queries (do not modify database) [off]
  --oltp-skip-trx = [on | off] skip BEGIN / COMMIT statements [off]
  --oltp-range-size = N range size for range queries [100]
  --oltp-point-selects = N number of point selects [10]
  --oltp-simple-ranges = N number of simple ranges [1]
  --oltp-sum-ranges = N number of sum ranges [1]
  --oltp-order-ranges = N number of ordered ranges [1]
  --oltp-distinct-ranges = N number of distinct ranges [1]
  --oltp-index-updates = N number of index update [1]
  --oltp-non-index-updates = N number of non-index updates [1]
  --oltp-nontrx-mode = STRING mode for non-transactional test {select, update_key, update_nokey, insert, delete} [select]
  --oltp-auto-inc = [on | off] whether AUTO_INCREMENT (or equivalent) should be used on id column [on]
  --oltp-connect-delay = N time in microseconds to sleep after connection to database [10000]
  --oltp-user-delay-min = N minimum time in microseconds to sleep after each request [0]
  --oltp-user-delay-max = N maximum time in microseconds to sleep after each request [0]
  --oltp-table-name = STRING name of test table [sbtest]
  --oltp-table-size = N number of records in test table [10000]
  --oltp-dist-type = STRING random numbers distribution {uniform, gaussian, special} [special]
  --oltp-dist-iter = N number of iterations used for numbers generation [12]
  --oltp-dist-pct = N percentage of values ​​to be treated as 'special' (for special distribution) [1]
  --oltp-dist-res = N percentage of 'special' values ​​to use (for special distribution) [75]
General database options:
  --db-driver = STRING specifies database driver to use ( 'help' to get list of available drivers)
  --db-ps-mode = STRING prepared statements usage mode {auto, disable} [auto]
Compiled-in database drivers:
  mysql - MySQL driver
  pgsql - PostgreSQL driver
mysql options:
  --mysql-host = [LIST, ...] MySQL server host [localhost]
  --mysql-port = N MySQL server port [3306]
  --mysql-socket = STRING MySQL socket
  --mysql-user = STRING MySQL user [sbtest]
  --mysql-password = STRING MySQL password []
  --mysql-db = STRING MySQL database name [sbtest]
  --mysql-table-engine = STRING storage engine to use for the test table {myisam, innodb, bdb, heap, ndbcluster, federated} [innodb]
  --mysql-engine-trx = STRING whether storage engine used is transactional or not {yes, no, auto} [auto]
  --mysql-ssl = [on | off] use SSL connections, if available in the client library [off]
  --myisam-max-rows = N max-rows parameter for MyISAM tables [1000000]
  --mysql-create-options = STRING additional options passed to CREATE TABLE []
pgsql options:
  --pgsql-host = STRING PostgreSQL server host [localhost]
  --pgsql-port = N PostgreSQL server port [5432]
  --pgsql-user = STRING PostgreSQL user [sbtest]
  --pgsql-password = STRING PostgreSQL password []
  --pgsql-db = STRING PostgreSQL database name [sbtest]

Create analog data

[Root @ iZ257l556beZ ~] # sysbench --test = oltp --oltp-table-size = 1000000 --db-driver = mysql --mysql-socket = / home / data / mydata / 3307 / mysql.sock --mysql -user = root --mysql-password = ESBecs00 --mysql-port = 3307 --mysql-host = 127.0.0.1 --mysql-db = pt prepare
sysbench 0.4.12: multi-threaded system evaluation benchmark
Creating table 'sbtest' ...
Creating 500000 records in table 'sbtest' ...

Test run

[Root @ iZ257l556beZ ~] # sysbench --test = oltp --oltp-table-size = 500000 --db-driver = mysql --mysql-socket = / home / data / mydata / 3307 / mysql.sock --mysql -user = root --mysql-password = ESBecs00 --mysql-port = 3307 --mysql-host = 127.0.0.1 --mysql-db = pt run> res

View Test Results

[Root @ iZ257l556beZ ~] # more res
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Doing OLTP test.
Running mixed OLTP test
Using Special distribution (12 iterations, 1 pct of values ​​are returned in 75 pct cases)
Using "BEGIN" for starting transactions
Using auto_inc on the id column
Maximum number of requests for OLTP test is limited to 10000
Threads
Done.
OLTP test statistics:
    queries performed:
        read: 140000
        write: 50000
        other: 20000
        total: 210000
    transactions: 10000 (. 120.50 per sec) ---- tps 10000 / 82.9887 = 120.5
    deadlocks: 0 (0.00 per sec.)
    read / write requests: 190000 (. 2289.47 per sec) ---- qps 190000 / 82.9887
    other operations: 20000 (241.00 per sec.)
Test execution summary:
    total time: 82.9887s
    total number of events: 10000
    total time taken by event execution: 82.9137
    per-request statistics:
         min: 5.98ms
         avg: 8.29ms
         max: 86.63ms
         . Approx 95 percentile: 10.78ms
Threads fairness:
    events (avg / stddev): 10000.0000 / 0.00
    execution time (avg / stddev): 82.9137 / 0.00
     
         
         
         
  More:      
 
- linux raid levels and concepts introduced (Linux)
- Close Pycharm spell check (Programming)
- Ubuntu How to install and upgrade Linux Kernel 3.15 (Linux)
- Java study notes: String (Programming)
- Linux garbled file delete method (Linux)
- MySQL related statements (CRUD) (SQLyog software) (Database)
- PL / SQL how to make the program every few seconds to insert a data (Database)
- CentOS 6.x and CentOS7 installation RPMforge (Linux)
- How Vim playing a mature IDE (Linux)
- RHEL7 Apache MPM configuration (Server)
- Java threads in the life cycle (Programming)
- Install the Red Hat Container Development Kit on OSX (Server)
- IOwait Linux system monitoring diagnostic tools (Linux)
- Install the latest development version of Wine on RedHat and Debian-based systems (Linux)
- Python closure and function objects (Programming)
- Linux supports serial output method (Linux)
- Git use and interpretation of common commands (Linux)
- Repair after installing Ubuntu no boot device error (Linux)
- Linux System Getting Started Learning: modify environment variables in Linux PATH (Linux)
- Delete specific files using bash directory under Linux (Linux)
     
           
     
  CopyRight 2002-2022 newfreesoft.com, All Rights Reserved.