Tato stránka byla strojově přeložena. Přečtěte si anglický originál. English

Knihovna IBSurgeon

Rychlý odhad rychlosti disku pomocí zálohy

Dmitry Kuzmenko, 30.05.2019, ib-aid.com

Naše technická podpora pravidelně dostává dotaz (který je také kladen na fórech) - „zdá se, že naše disky jsou pomalé, jak to potvrdit“?

Nejčastěji se tento dotaz objevuje od uživatelů virtuálních strojů, kde DBA nemá přístup k nastavení diskového subsystému nebo dokonce nezná jeho charakteristiky.

Samozřejmě, rychlost disku lze měřit různými nástroji, od jednoduchého CrystalDiskMark po složitější IOMeter. Ale nejčistší výsledky lze získat, když aplikace nepracují s diskem. Jinak se výsledky mohou lišit a při vysokém zatížení může testování snížit výkon systému.

Navíc správci systému mohou zakázat instalaci softwaru třetích stran, i na krátkou dobu.

Nicméně zálohování se obvykle provádí na všech takových systémech (kromě těch, kteří používají zálohovací software na úrovni VM pro zálohování Firebirdu, což je špatně - viz #11 zde v „12 běžných chyb při zálohování databází“).

Zálohování (gbak -b -g) je čtení všech dat z databáze a zápis (sekvenční) těchto dat do záložního souboru. Z pohledu operací čtení/zápisu jde o kombinaci náhodného čtení a sekvenčního zápisu.

Záložní soubor má obvykle velikost 60 %-70 % velikosti databáze. A kvůli verzování a struktuře stránek databáze je čtení více než zápisů.

Protože je záložní soubor obvykle umístěn na jiném fyzickém disku, celková rychlost zálohování bude záviset na rychlosti náhodného čtení databáze a rychlosti sekvenčního zápisu záložního disku. Samozřejmě můžete umístit databázi na HDD a zálohovat na SSD, ale to bude velmi neefektivní, takže předpokládáme, že rychlost záložního disku je téměř stejná jako rychlost disku databáze, ne o mnoho vyšší nebo nižší.

Pro zjednodušení hodnocení rychlosti jsme vzali pouze velikost záložního souboru a vydělili ji časem zálohování. Výsledek bude v „megabajtech za sekundu“. Ale pro vyhodnocení získané hodnoty ve srovnání s jinými systémy je zapotřebí nějaké referenční měření.

Jako referenci jsme vzali průměrný stolní počítač s databází na RAID1 ze 2 SATA3 HDD a zálohou na samostatném SATA3 HDD (rychlost sekvenčního čtení tohoto RAID1 je kolem 180 MB/s a ~150 MB/s pro záložní HDD).

Zde má záloha 31GB databáze velikost 21 GB a zálohování v jednouživatelském režimu (na počítači nikdo nepracuje) trvá 18 minut, rychlost zálohování je 19 megabajtů za sekundu.

Takže, protože se nejedná o výkonný server, ale pouze o stolní počítač (sestavený před 2 nebo 3 lety), můžeme tuto rychlost zálohování použít jako referenci, považovat ji za normální a možná minimální přípustnou pro produkční systémy.

Dále jsme analyzovali rychlost zálohování na 30 různých serverech pod naší správou, kde velikost záložního souboru není menší než 5 gigabajtů.

Výkon Rychlost, MB/s Komentáře a příklady

| Rychlý | 50-70 | Byly zde systémy se zálohami od 38 do 150 gigabajtů. Záloha 124 GB databáze za 42 minut - to je rychlé. | | Průměrný | 20-50 | Zde je průměrná rychlost kolem 80 gigabajtů za 30-40 minut. To je normální a náš stolní počítač ukazuje výsledek, který sem může zapadat. | | Pomalý | 10-20 | 463 gigabajtů za 11 hodin, 80 gigabajtů za 2 hodiny, 293 gigabajtů za 5 hodin - to je pomalé, dokonce i náš testovací stolní počítač je rychlejší. | | Extrémně pomalý | Pod 10 | To je jako 8,5 gigabajtů za 1 hodinu. Velmi pomalé. |

Je jasné, že na některých zkoumaných systémech se zálohování neprovádí při nulovém zatížení serveru. Ale v každém případě se provádí při minimálním zatížení serveru.

Jen abychom věděli, jak může nízké zatížení ovlivnit rychlost zálohování, spustili jsme 2 souběžné zálohy na stejném stolním počítači. Obě trvaly 19 minut s rychlostí 18 megabajtů za sekundu. To je 93 % z jednouživatelské zálohy, což není příliš mnoho (7% pokles) pro jednotlivé HDD. Pokud máte SSD, rozdíl si možná ani nevšimnete, i když spustíte 3-4 zálohy současně.

Obecně platí, že rychlost zálohování 20 megabajtů za sekundu a méně může být důvodem k obavám.

V tomto případě je buď záložní disk příliš pomalý, přičemž záloha by měla být provedena co nejrychleji. Nebo je disk databáze příliš pomalý a celkový výkon systému je horší, než by měl být.

Jak zvýšit rychlost zálohování

Mnoho lidí nepoužívá gbak na plnou rychlost a někdy je možné zvýšit rychlost zálohování jediným přepínačem -se service_mgr, aby se použil správce služeb uvnitř enginu Firebirdu.

Doporučený příkazový řádek pro rychlé zálohování je následující, jak pro Firebird 2.5, tak pro Firebird 3.0:

gbak -se localhost:service_mgr -b -g -user USERNAME -pass password Disk:\Path\Database.fdb Disk:\Path\backup.fbk

Další tipy a triky věnované obecnému výkonu: