sysbench je srovnávací sada, která vám umožňuje rychle získat představu o výkonu systému, což je důležité, pokud plánujete provozovat databázi pod intenzivním zatížením. Tento článek vysvětluje, jak srovnávat výkon vašeho CPU, IO souboru a MySQL pomocí sysbench.
1 Instalace sysbench
Na Debian/Ubuntu lze sysbench nainstalovat následovně:
sudo apt-get install sysbench
Na CentOS a Fedoře jej lze nainstalovat z úložiště EPEL.
Přidat úložiště EPEL:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release
yum -y update
Poté nainstalujte sysbench pomocí yum:
yum nainstalovat sysbench
Získejte přehled možností sysbench
Podívejte se na
man sysbench
se dozvíte více o jeho parametrech.
Nyní provedu jednoduché tři základní testy, které vám řeknou více o výkonu vašeho CPU, výkonu IO souboru a výkonu MySQL.
2 CPU Benchmark
Výkon procesoru můžete porovnat následovně:
sysbench --test=cpu --cpu-max-prime=20000 run
[e-mail chráněno]:~# sysbench --test=cpu --cpu-max-prime=20000 spustit
sysbench 0.4.12: vícevláknový srovnávací systém hodnocení
Spuštěno test s následujícími možnostmi:
Počet vláken: 1
Provádím srovnávací výkon CPU
Vlákna spuštěna!
Hotovo.
Maximální prvotní číslo kontrolované v testu CPU:20000
Souhrn provedení testu:
Celkový čas:23,8724S
Celkový počet událostí:10000
Celkový čas provedený prováděním událostí:23,8716
Statistiky na vyžadování:
min:2,31ms
avg:2,39 ms
max:6,39ms
cac. 95 percentil: 2,44 ms
Spravedlivost vlákna:
události (prům./stddev): 10000.0000/0.00 3 : 10000.0000/0.00 7 g/0.00br />[e-mail chráněn]:~#
Vidíte spoustu čísel, z nichž nejdůležitější je celkový čas:
celkový čas: 23,8724 s
Samozřejmě musíte porovnávat benchmarky napříč více systémy, abyste věděli, jakou mají tato čísla hodnotu.
3 File IO Benchmark
Abychom mohli měřit výkon IO souboru, musíme nejprve vytvořit testovací soubor, který je mnohem větší než vaše RAM (protože jinak bude systém používat RAM pro ukládání do mezipaměti, což narušuje výsledky benchmarku) – 150 GB je dobrá hodnota:
sysbench --test=fileio --file-total-size=150G připravit
Poté můžeme spustit benchmark:
sysbench --test=fileio --file-total-size=150G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 spuštění[e-mail protected]:~# sysbench --test=fileio --file-total-size=150G --file-test-mode=rndrw --init-rng=on --max-time=300 -- max-requests=0 spustit
sysbench: /usr/lib/libmysqlclient.so.18: žádné informace o verzi dostupné (požadováno sysbench)
sysbench 0.4.12: vícevláknový systém hodnocení / benchmark
Spuštění testu s následujícími možnostmi:
Počet vláken: 1
Inicializace generátoru náhodných čísel z časovače.
Příznaky otevření dalších souborů: 0
128 souborů, 1,1719 Gb každý
150 Gb celková velikost souboru
Velikost bloku 16 Kb
Počet náhodných požadavků pro náhodné IO: 0
Čtení/zápis kombinovaný IO náhodný test: 1,50
Periodické FSYNC povoleno, volá fsync() každých 100 požadavek.
Volání fsync() na konci testu, Povoleno.
Použití synchronního režimu I/O
Provádím náhodný r/w test
Vlákna spuštěna!
Časový limit překročen, opouští se...
Hotovo.
Provedené operace: 600 Čtení, 400 Zápis, 1186 Jiné =2186 Celkem
Čtení 9,375 Mb Napsáno 6,25 Mb Celkem přeneseno 15,625 Mb (53,316 Kb/s)
3,33 Požadavek/sec 0 0. 9 7 5 5 doba:
Provedení testu shrnutí > Celkový počet událostí:1000
Celkový čas provedený prováděním událostí:158,7611
Statistiky na požadování:
min:0,01ms
avg:158,76ms
Max:2596,96 ms
přibl. 95 percentil: 482,29 ms
Spravedlnost vláken:
události (prům./stddev): 1000,0000/0,0 50: 7. g/0,00 10
br />[e-mail chráněn]:~#Důležitým číslem je hodnota kb/s:
Přečteno 9,375 Mb Napsáno 6,25 Mb Celkem přeneseno 15,625 Mb (53,316 Kb/s)
Po provedení benchmarku můžete odstranit 150GB testovací soubor ze systému:
sysbench --test=fileio --file-total-size=150G vyčištění4 srovnávací test MySQL
Abychom mohli měřit výkon MySQL, nejprve v testu databáze vytvoříme testovací tabulku s 1 000 000 řádky dat:
sysbench --test=oltp --oltp-table-size=1000000 -db-driver=mysql --mysql-db=test --mysql-user=root --mysql-password=yourrootsqlpassword připravit[e-mail chráněný]:~# sysbench --test=oltp --oltp-table-size=1000000 -db-driver=mysql --mysql-db=test --mysql-user=root --mysql- password=yourrootsqlpassword Prepare
sysbench 0.4.12:vícevláknové hodnocení systémuNebyly zadány žádné ovladače DB, pomocí mysql
Vytváření tabulky 'sbtest'...
Vytváření 1000000 záznamů v tabulce 'sbtest'...
[e-mail chráněný]:~#Nahraďte slovo yourrootsqlpassword pomocí vašeho root hesla MySQL ve výše uvedeném příkazu. Udělejte totéž v dalších příkazech.
Poté můžete srovnávací test MySQL spustit následovně:
sysbench --test=oltp --oltp-table-size=1000000 -db-driver=mysql --mysql-db=test --mysql-user=root --mysql-password=yourrootsqlpassword --max- time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run[e-mail chráněno]:~# sysbench --test=oltp --oltp-table-size=1000000 --db-driver=mysql --mysql-db=test --mysql-user=root --mysql- password=yourrootsqlpassword --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run
sysbench 0.4.12: vícevláknový srovnávací systém hodnocení
Není zadány žádné DB ovladače pomocí mysql
Spuštění testu s následujícími možnostmi:
Počet vláken: 8
Provádí se OLTP test.
Spuštění smíšeného testu OLTP
Provádění testu pouze pro čtení
Pomocí Speciální distribuce (12 iterací, 1 pct hodnot je vráceno v 75 pct případech)
Použití „BEGIN“ pro spouštění /transakcí Použití auto_inc ve sloupci id
Vlákna spuštěna!
Časový limit překročen, končíte...
(poslední zpráva opakovaná 7 krát)
Hotovo.
Statistika testu OLTP:
Provedené dotazy:
Číst:2253860
Napište:0
Ostatní:32 1980
Celkem:2575840
Transakce:160990 (2683,06 za sec.)
Blořiče:0 (0,00 za sekundu)
Požadavky na čtení /zápis:2253860 (37562,81 za sec.)
Další operace:321980 (5366,12 za sec.)
Shrnutí provedení testu:
Celkový čas:60,0024s
Celkový počet událostí:160990
Celkem Čas pořízený prováděním událostí:479,3419
Statistiky na vyžadování:
min:0,81ms
avg:2,98 ms
max:3283,40ms
cca. 95 percentil: 4,62 ms
Spravedlnost vláken:
události (prům./stddv): 9. 0123.7500/63.52 čt. 0 0. g . 7500/63.52 cuv> av> br />[e-mail chráněn]:~#Důležitým číslem je hodnota transakcí za sekundu:
transakce: 160990 (2683,06 za s.)
Chcete-li poté systém vyčistit (tj. odstranit testovací stůl), spusťte:
sysbench --test=oltp --db-driver=mysql --mysql-db=test --mysql-user=root --mysql-password=yourrootsqlpassword cleanup5 odkazů
- sysbench:http://sysbench.sourceforge.net/