PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Powrót XFS na Linuksie

Jeśli używasz Linuksa, a zwłaszcza jeśli używasz bazy danych w Linuksie, w ostatnich latach trudno było polecić jakikolwiek system plików inny niż zwykły stary ext3. Niektóre z alternatyw, które w pewnym momencie wyglądały interesująco – jfs, ReiserFS – zostały w tym momencie całkowicie porzucone. Ten, który od jakiegoś czasu jest prawie opłacalny, to XFS, pierwotnie projekt SGI. W tym tygodniu znów jest w centrum uwagi.

XFS miał w przeszłości wiele problemów. Ponieważ został zaprojektowany dla stabilnego sprzętu, początkowo nie był tak solidny na standardowym tanim sprzęcie komputerowym; całkiem sporo z tego zostało posprzątane dwa lata temu. Miał ten dziwny problem z wyzerowanymi plikami, który odstraszał niektórych ludzi. Był traktowany jako obywatel drugiej kategorii w biznesowych dystrybucjach Linuksa, takich jak RedHat, wymagający kompilacji własnego jądra; nawet na mniej restrykcyjnym CentOS, trzeba było wykonać kilka dziwnie wyglądających kroków konfiguracyjnych, aby dodać obsługę XFS, a wynik był oczywiście nieobsługiwany. Jako jeden z pierwszych systemów plików, które włączały się i agresywnie wykorzystywały bariery zapisu, wdrożenia były podatne na dyski i kontrolery, które nie opróżniały pamięci podręcznej na polecenie, co nie jest już tak często spotykane na nowoczesnym sprzęcie, jeśli skonfigurujesz to prawda (z wyjątkiem dysków SSD, ale to już inna historia).

Więc po co się męczyć? Cóż, jednym z głównych powodów jest wydajność. Zauważyłem, że ponownie pracuję z XFS, gdy ostatnio pracowałem z bezpłatnym oprogramowaniem Greenplum Single Node Edition. Greenplum powiedział mi wprost, że nie zalecają niczego poza XFS do instalacji o wysokiej wydajności, a biorąc pod uwagę podstawowe podobieństwa do społeczności PostgreSQL, uznałem, że warto zbadać, dlaczego było tego więcej.

Wyczucie czasu okazało się idealne. Jednym z innych ograniczeń ext3 jest to, że na zwykłym sprzęcie obsługuje on tylko 16 TB pamięci. Ponieważ możesz teraz umieścić tak dużo miejsca w średniej wielkości stojaku na dyski, to wyraźnie nie wystarczy w dzisiejszych systemach z wyższej półki, a tym bardziej za kilka lat. Zdając sobie z tego sprawę, RedHat poważnie przywraca wsparcie dla XFS w swojej dystrybucji Linuksa. RHEL 5.4, wydany kilka miesięcy temu, dodał go z powrotem jako opcjonalny moduł dla niektórych klientów. Nadal nie można było zainstalować na XFS, a nawet wersja CentOS nie obsługiwała instalacji 32-bitowych, ale wyraźnie robiła kroki w kierunku głównego nurtu.

Wczoraj została wydana pierwsza publiczna wersja beta RHEL6, a XFS powrócił do głównego zestawu funkcji. Znajduje się obok ext4 na liście obsługiwanych systemów plików, wskazując na jego przydatność w szczególności do dużych instalacji. Mogę więc teraz powiedzieć ludziom, że mają wsparcie XFS dostępne w nieco szorstkiej formie w RHEL/CentOS 5.4, oczekując, że jest to obsługiwany system plików pierwszej klasy, ponieważ systemy zostaną uaktualnione do RHEL6 i jego pochodnych w przyszłości, i mam nadzieję, że będzie niezawodny.

Z obsługą korporacyjnego systemu Linux i odpowiednio postrzeganą stroną stabilności kodu XFS ponownie pod kontrolą, co z wydajnością? Cóż, okazuje się, że Greenplum miał rację, twierdząc, że XFS jest wart zachodu, aby uruchomić. Wziąłem serwer testowy i sformatowałem jeden z jego umiarkowanie szybkich dysków za pomocą trzech różnych kombinacji systemu plików/montowania:uporządkowany ext3, dziennik ext3 i xfs. Po trzech uruchomieniach bonnie++ 1.96 z każdym systemem plików, wyniki, które widziałem, rozpadły się w następujący sposób:

  • zamówiono ext3:39-58MB/s zapis, 44-72MB/s odczyt
  • dziennik ext3:25-30MB/s zapis, 49-67MB/s odczyt
  • xfs:  68-72 MB/s zapis, 72-77 MB/s odczyt

Podczas gdy najlepsze wyniki odczytu ext3 zbliżyły się do poziomów zbliżonych do tego, do czego był zdolny xfs, przeciętnie radził sobie znacznie lepiej. A wyniki zapisu były o co najmniej 25% lepsze we wszystkich przypadkach. Podobała mi się również węższa, bardziej przewidywalna przepustowość; niespójna wydajność to coś, z czym często borykam się na ext3.

Zwykle nie jestem jednym z pierwszych użytkowników nowych wydań Linuksa, ale wersja beta RHEL6 z pełną obsługą XFS zastąpiła całkowicie rozczarowujące nowe wydanie Ubuntu na szczycie mojej listy systemów operacyjnych do zainstalowania w następnej kolejności. Nieczęsto widzisz, że technologia systemu plików ma drugą szansę, by zaimponować, ale wydaje się, że XFS dokonał nieoczekiwanego przejścia z powrotem do całkowicie istotnej, na razie. Nie jestem pewien, jak długo to potrwa, ponieważ zarówno ext4 jest już dostępny, jak i btrfs zbliżają się do jakości produkcyjnej, osiągając ostatnio stabilny format dysku. Ciekawe będzie zobaczyć, jak ten ożywiony zestaw opcji systemów plików w systemie Linux będzie się rozgrywać.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django unikalne razem awaria ograniczenia?

  2. Jak utworzyć losowy ciąg, który jest odpowiedni dla identyfikatora sesji w PostgreSQL?

  3. Powiadamianie o zmianach postgres w aplikacji java

  4. Jak działa date_part() w PostgreSQL

  5. Sekwencja PostgreSQL oparta na innej kolumnie