Podręcznik Modus, Meso
Ślad: • zwiekszenie_wydajnosci_firebird_dysk

Jedną z częstych przyczyn spowolnienia bazy danych Firebird jest zbyt wolny dysk, na którym przechowywane są dane. Ważne jest, aby dysk był szybki, ponieważ baza danych Firebird przechowuje i odczytuje dane właśnie z niego.

Przetestuj, jak dobrze działa Twój dysk z bazą danych Firebird.

Istnieje kilka uniwersalnych narzędzi do pomiaru wydajności dysku w standardowy sposób, które podają szacunkowe wartości w MB/s lub IOPS. Najpopularniejszym z nich jest CrystalDiskMark (https://crystalmark.info/).

Z naszych doświadczeń wynika, że CrystalDiskMark daje odpowiednie oszacowanie prędkości dysku i może być używany jako punkt wyjścia.

Przykład wyników z CrystalDiskMark w formacie tekstowym:

Test prędkosci

Test prędkości na serwerze z dowolnym Firebirdem

Aby uruchomić test na dowolnym serwerze Firebird, skopiuj skrypt z witryny: Simple Insert Update Delete Test for Firebird i zapisz go do pliku, na przykład /opt/script1.sql lub c:\temp\script1.sql. https://ib-aid.com/en/simple-insert-update-delete-test-for-firebird/#how_to_run_firebird_performance_test

Następnie edytuj ścieżkę w pierwszej linii skryptu do tworzonej bazy danych - powinna znajdować się na tym samym dysku, gdzie znajduje się główna baza danych:

  create database "localhost:<DISK>:<PATH>inserttest4.fdb"
  user "SYSDBA" password "masterkey" page_size 16384;

lub, dla Linuxa

  create database "localhost:/<path>/inserttest4.fdb"
  user "SYSDBA" password "masterkey" page_size 16384;

Unikaj sytuacji, gdy testowany dysk jest obciążony długotrwałą operacją, taką jak tworzenie kopii zapasowej lub kopiowanie dużych wolumenów danych, lub po prostu ma szczytową liczbę użytkowników.

Najlepszą opcją jest uruchomienie skryptu w trybie bez użytkowników.

Uruchom skrypt z wiersza poleceń za pomocą polecenia, jak poniżej:

  /opt/firebird/bin/isql -i /opt/script1.sql

lub

  "C:\Program Files\Firebird\Firebird_4_0\isql.exe" -i .\script1.sql

Wynik zostanie wyświetlony na ekranie (pokazano tylko pierwszą część dla INSERT):

  C:\HQbird\Firebird30> isql -i c:\Temp\test1.sql
  Use CONNECT or CREATE DATABASE to specify a database
  INSERTED_ROWS 1000000
  ELAP_MS 58890
  Current memory = 702384256
  Delta memory = 3215392
  Max memory = 704756112
  Elapsed time= 58.894 sec
  Buffers = 40960
  Reads = 9
  Writes = 88015
  Fetches = 25332353
  Current memory = 702342416
  Delta memory = -41840
  Max memory = 704756112
  Elapsed time= 4.846 sec
  Buffers = 40960
  Reads = 1
  Writes = 40254
  Fetches = 2

Jak interpretować wyniki

Należy sumować czas operacji i czas zatwierdzania, a następnie podzielić 1000000 przez całkowity czas.

Dla powyższego przykładu:

  INSERT SPEED = 1000000 / (58.984+4.846) = 15666 inserts/sekunda

Wyniki w formie Operacji na sekundę — na przykład 6000 Insertów/sekundę, 5200 Update'ów/sekundę, 7300 Delete'ów/sekundę, mogą być porównywane z tabelą/wykresem wyników wydajności.

Tabela znajduje się tutaj: https://ib-aid.com/images/testresult/insert_update_delete_results.xls

Jeśli wyniki są powyżej średniej w tabeli/wykresie, oznacza to, że prędkość dysku jest w porządku, a przyczyna wolnego działania leży w innej sferze niż sprzęt.

Inną rzeczą do sprawdzenia jest czas zatwierdzania. Jeśli całkowity czas testu zawiera więcej niż 20% czasu zatwierdzania, oznacza to, że może występować problem z buforowaniem zapisu.

Jeśli wynik testu jest poniżej średniej, a masz dyski SSD, oznacza to, że występuje problem z konfiguracją dysku lub sterownikiem.

Możliwe przyczyny wolnego działania dysku

  1. Nieprawidłowy system plików dla dysku, na którym znajduje się baza danych Firebird
  2. Brak jednostki podtrzymującej zasilanie dla RAID (lub rozładowana bateria)
  3. Brak odpowiedniego sterownika (lub sterownik jest wyłączony przez dostawcę, aby uniemożliwić korzystanie z dysków konsumenckich na systemie serwerowym)
  4. Limit IOPS dla VM (na przykład, Azure ma bardzo niskie limity IOPS dla maszyn wirtualnych ogólnego przeznaczenia)
  5. Aktywny proces tworzenia kopii zapasowej lub inne przetwarzanie (kopiowanie, reorganizacja itp.) dużych danych na dysku.
  6. Dysk zaczyna się psuć: uszkodzone bloki, przegrzewanie się itp. Zawsze sprawdzaj dane S.M.A.R.T dla dysku
Poprzednia Następna

Narzędzia witryny

  • Indeks

Narzędzia strony

  • Pokaż źródło strony
  • Odnośniki
  • Do góry

Narzędzia użytkownika

  • Zaloguj
pl/administrator/zwiekszenie_wydajnosci_firebird_dysk.txt · ostatnio zmienione: 2024/07/15 07:45 przez 127.0.0.1
Podręcznik Modus, Meso

Spis treści