Donnerstag, 12. November 2009

Mysql benchmarken mit Sysbench

um Mysql zu benchmarken gibt es viele Möglichkeiten. Eine davon ist die Benchmarksuite Sysbench die in den Paketverwaltungen fast aller Linux Distributionen vorhanden ist. Da ich mir die Syntax nicht merken kann schreib ich sie hier mal auf:

sysbench --test=oltp --oltp-table-size=2000000 --mysql-db=test --mysql-user=root --mysql-password=... prepare

erzeugt die notwendigen Tabellen in der Datenbank Test.

sysbench --test=oltp --oltp-table-size=2000000 --mysql-db=test --mysql-user=root --mysql-password=... --max-time=180 --max-requests=0 --num-threads=8 run


läßt den Server 3 Minuten daurauf rumeiern.

Hier das Ergebnis eines 1 Minuten testseiner 64Bit HP Dual Xeon 3075 SAS Maschine mit frisch installiertem Mysql 5.1 "out-of-the-box"

OLTP test statistics:
queries performed:
read: 263578
write: 94135
other: 37654
total: 395367
transactions: 18827 (313.13 per sec.)
deadlocks: 0 (0.00 per sec.)
read/write requests: 357713 (5949.45 per sec.)
other operations: 37654 (626.26 per sec.)

Test execution summary:
total time: 60.1254s
total number of events: 18827
total time taken by event execution: 480.2558
per-request statistics:
min: 3.11ms
avg: 25.51ms
max: 229.01ms
approx. 95 percentile: 25.76ms

Threads fairness:
events (avg/stddev): 2353.3750/0.48
execution time (avg/stddev): 60.0320/0.05


zum Vergleich auf einer gleichen Maschine aber nur mit 32Bit OS und SATA Platten:
OLTP test statistics:
queries performed:
read: 130228
write: 46510
other: 18604
total: 195342
transactions: 9302 (151.90 per sec.)
deadlocks: 0 (0.00 per sec.)
read/write requests: 176738 (2886.15 per sec.)
other operations: 18604 (303.81 per sec.)

Test execution summary:
total time: 61.2366s
total number of events: 9302
total time taken by event execution: 489.7876
per-request statistics:
min: 2.58ms
avg: 52.65ms
max: 2857.50ms
approx. 95 percentile: 80.98ms

Threads fairness:
events (avg/stddev): 1162.7500/116.67
execution time (avg/stddev): 61.2235/0.00




Es gibt also einen enormen Unterschied zwischen 32/64 SAS/SATA

Nachtrag : Unter Debian gibt es Sysbench nicht im Repository sondern muß aus den Quellen kompiliert werden. Dazu gibt es hier eine gute Anleitung.

Noch ein Nachtrag: hier die Werte eines Simplyroot.de vServer Silver

OLTP test statistics:
    queries performed:
        read:                            267386
        write:                           95495
        other:                           38198
        total:                           401079
    transactions:                        19099  (106.09 per sec.)
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 362881 (2015.75 per sec.)
    other operations:                    38198  (212.18 per sec.)

Test execution summary:
    total time:                          180.0231s
    total number of events:              19099
    total time taken by event execution: 1439.9349
    per-request statistics:
         min:                                  2.40ms
         avg:                                 75.39ms
         max:                               1818.85ms
         approx.  95 percentile:             272.52ms

Threads fairness:
    events (avg/stddev):           2387.3750/76.62
    execution time (avg/stddev):   179.9919/0.01

Keine Kommentare: