Deze pagina is automatisch vertaald. Lees het Engelse origineel. English

IBSurgeon-bibliotheek

Snelle inschatting van de schijfsnelheid met back-up

Dmitry Kuzmenko, 30.05.2019, ib-aid.com

Onze technische ondersteuning ontvangt regelmatig een vraag (die ook op de forums wordt gesteld) - “het lijkt erop dat onze schijven traag zijn, hoe kunnen we dat bevestigen”?

Meestal wordt deze vraag gesteld door gebruikers van virtuele machines, waar de DBA geen toegang heeft tot de instellingen van het schijfsubsysteem of zelfs de kenmerken ervan niet kent.

Natuurlijk kan de schijfsnelheid worden gemeten met verschillende tools, van eenvoudige CrystalDiskMark tot complexere IOMeter. Maar de zuiverste resultaten worden verkregen wanneer applicaties niet met de schijf werken. Anders kunnen de resultaten variëren, en onder hoge belasting kan testen de systeemprestaties verminderen.

Bovendien kunnen systeembeheerders het installeren van software van derden verbieden, zelfs voor een korte periode.

Echter, back-ups worden meestal gemaakt op al dergelijke systemen (behalve degenen die VM-niveau back-upsoftware gebruiken om Firebird te back-uppen, wat verkeerd is - zie #11 hier in “12 veelgemaakte fouten bij het back-uppen van databases”).

Back-up (gbak -b -g) is het lezen van alle gegevens uit de database, en het (sequentieel) schrijven van deze gegevens naar het back-upbestand. Vanuit het oogpunt van lees-/schrijfbewerkingen is het een combinatie van willekeurig lezen en sequentieel schrijven.

Een back-upbestand heeft meestal een grootte van 60%-70% van de databasegrootte. En vanwege de versionering en paginastructuur van de database zijn er meer leesbewerkingen dan schrijfbewerkingen.

Aangezien een back-upbestand meestal op een andere fysieke schijf wordt geplaatst, hangt de algehele back-upsnelheid af van de willekeurige leessnelheid van de database en de sequentiële schrijfsnelheid van de back-upschijf. U kunt de database natuurlijk op een HDD plaatsen en back-uppen naar een SSD, maar dit zal zeer inefficiënt zijn, dus we gaan ervan uit dat de back-upschijfsnelheid bijna gelijk is aan de databaseschijfsnelheid, niet veel hoger of lager.

Om de snelheidsevaluatie te vereenvoudigen, hebben we alleen de back-upbestandsgrootte genomen en gedeeld door de back-uptijd. Het resultaat wordt uitgedrukt in “megabytes per seconde”. Maar om de verkregen waarde te evalueren in vergelijking met andere systemen, is een soort referentiemeting vereist.

We hebben een gemiddelde desktopcomputer als referentie genomen, met een database op RAID1 van 2 SATA3 HDD’s, en back-up op een aparte SATA3 HDD (sequentiële leessnelheid van deze RAID1 is ongeveer 180 MB/sec, en ~150 MB/sec voor de back-up HDD).

Hier heeft een back-up van een 31 GB database een grootte van 21 GB, en back-up in single-user modus (niemand werkt op die computer) duurt 18 minuten, back-upsnelheid is 19 megabytes per seconde.

Dus, aangezien dit geen krachtige server is, maar slechts een desktop (2 of 3 jaar geleden geassembleerd), kunnen we deze back-upsnelheid als referentie gebruiken, deze als normaal beschouwen, en misschien als minimaal toelaatbaar voor productiesystemen.

Vervolgens hebben we de back-upsnelheid geanalyseerd op 30 verschillende servers onder ons ondersteuningsbeheer, waar de back-upbestandsgrootte niet minder is dan 5 gigabytes.

Prestaties Snelheid, MB/sec Opmerkingen en voorbeelden

| Snel | 50-70 | Er waren enkele systemen met back-ups van 38 tot 150 gigabytes. Back-up van een 124 GB database in 42 minuten - dat is snel. | | Gemiddeld | 20-50 | Hier is de gemiddelde snelheid ongeveer 80 gigabytes per 30-40 minuten. Dit is normaal, en onze desktop toont een resultaat dat hier mogelijk past. | | Traag | 10-20 | 463 gigabytes per 11 uur, 80 gigabytes per 2 uur, 293 gigabytes per 5 uur - dat is traag, zelfs onze testdesktop is sneller. | | Extreem traag | Onder 10 | Dit is zoals 8,5 gigabytes per 1 uur. Zeer traag. |

Het is duidelijk dat op sommige onderzochte systemen back-up niet wordt gemaakt tijdens nulbelasting op de server. Maar in ieder geval wordt het gedaan tijdens minimale belasting op de server.

Om te weten hoe lage belasting de back-upsnelheid kan beïnvloeden, hebben we 2 gelijktijdige back-ups op dezelfde desktop uitgevoerd. Beide duurden 19 minuten met een snelheid van 18 megabytes per seconde. Dit is 93% van de single-user back-up, wat niet veel is (7% vermindering) voor enkele HDD’s. Als u een SSD heeft, merkt u mogelijk geen verschil, zelfs niet als u 3-4 back-ups tegelijkertijd uitvoert.

Over het algemeen kan een back-upsnelheid van 20 megabytes per seconde en lager een reden tot zorg zijn.

In dat geval is ofwel de back-upschijf te traag, terwijl de back-up zo snel mogelijk moet worden uitgevoerd. Ofwel is de databaseschijf te traag, en zijn de algehele systeemprestaties slechter dan nodig.

Hoe de back-upsnelheid te verhogen

Veel mensen gebruiken gbak niet op volle snelheid, en soms is het mogelijk om de back-upsnelheid te verhogen met een enkele schakelaar -se service_mgr, om de servicemanager binnen de Firebird-engine te gebruiken.

De aanbevolen opdrachtregel voor de snelle back-up is de volgende, zowel voor Firebird 2.5 als Firebird 3.0:

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

Meer tips en trucs over algemene prestaties: