Ile cenisz dane?
Poważnie, każdy system plików ma swoje własne kompromisy. Zanim przejdę o wiele dalej, jestem wielkim fanem XFS i Reisera, chociaż często używam Ext3. Więc nie ma tu prawdziwej stronniczości systemu plików, po prostu informując ...
Jeśli system plików jest dla ciebie czymś więcej niż kontenerem, wybierz coś, co zapewnia najlepszy czas dostępu.
Jeśli dane mają jakąkolwiek znaczącą wartość, będziesz chciał uniknąć XFS. Dlaczego? Ponieważ jeśli nie będzie w stanie odzyskać części zapisanego w dzienniku pliku, wyzeruje bloki i uniemożliwi odzyskanie danych. Ten problem został rozwiązany w jądrze Linuksa 2.6.22 .
ReiserFS to świetny system plików, pod warunkiem, że nigdy nie ulega awarii . Odzyskiwanie dziennika działa dobrze, ale jeśli z jakiegoś powodu utracisz informacje o parowaniu lub uszkodzone zostaną podstawowe bloki systemu plików, możesz mieć problem z wieloma partycjami ReiserFS na dysku - ponieważ mechanizm odzyskiwania zasadniczo skanuje cały dysk, sektor po sektorze, szukając tego, co „myśli”, jest początkiem systemu plików . Jeśli masz trzy partycje z ReiserFS, ale tylko jedna jest zepsuta, możesz sobie wyobrazić chaos, jaki to spowoduje, gdy proces odzyskiwania połączy bałagan Frankensteina z dwóch pozostałych systemów ...
Ext3 jest „wolny”, w „Mam 32 000 plików i znalezienie ich wszystkich zajmuje trochę czasu ls
”. Jeśli będziesz mieć wszędzie tysiące małych stolików tymczasowych, poczujesz odrobinę smutku. Nowsze wersje zawierają teraz opcję indeksu, która radykalnie ogranicza przechodzenie przez katalog, ale wciąż może być bolesna.
Nigdy nie korzystałem z JFS. Mogę jedynie skomentować, że każda recenzja, którą kiedykolwiek czytałem, była czymś w rodzaju „solidnego, ale nie najszybszego dzieciaka na bloku”. Może to wymagać dochodzenia.
Dość wad, spójrzmy na plusy:
XFS:
- krzyczy z ogromnymi plikami, szybki czas odzyskiwania
- bardzo szybkie wyszukiwanie katalogu
- Prymitywy do zamrażania i odmrażania systemu plików do zrzucania
ReiserFS:
- Wysoce optymalny dostęp do małych plików
- Pakuje kilka małych plików w te same bloki, oszczędzając przestrzeń systemu plików
- szybkie odzyskiwanie, rywalizuje z czasem odzyskiwania XFS
Ext3:
- Wypróbowany i prawdziwy, oparty na dobrze przetestowanym kodzie Ext2
- Wiele narzędzi do pracy
- Może być ponownie zamontowany jako Ext2 w mgnieniu oka w celu odzyskania
- Może być zarówno zmniejszony, jak i rozszerzony (inne systemy plików można tylko rozszerzyć)
- Najnowsze wersje można rozbudowywać „na żywo” (jeśli masz odwagę)
Widzicie, każdy ma swoje dziwactwa. Pytanie brzmi: co jest dla ciebie najmniej dziwaczne?
Warto również zauważyć, że można uruchomić InnoDB bez systemu plików i poprawić wydajność bez obciążenia systemu plików. Nie jestem pewien, czy poleciłbym to, ale korzystałem z niego wcześniej bez problemów.
Surowe urządzenia InnoDB
Ponadto, jeśli używasz 90% odczytów i 10% zapisów, chyba że potrzebujesz zdolności transakcyjnej InnoDB, możesz rozważyć przeniesienie do MyISAM w celu uzyskania lepszej wydajności odczytu.
źródło
Odpowiedzi tutaj są poważnie nieaktualne i wymagają aktualizacji, ponieważ pojawi się w wynikach Google.
Dla środowisk produkcyjnych XFS. Każdego razu. XFS jest kronikowany i nie blokuje. Upewnij się, że masz następujące zmienne dla nowoczesnej bazy danych MySQL (2011/2012) używającej InnoDB w produkcji:
Nie używaj EXT3 ani nawet EXT4. Pewnego dnia dotrze tam BTRFS.
EXT3, a może EXT4, blokuje się na poziomie i-węzła, a nie inteligentny!
Źródła: - www.mysqlperformanceblog.com - http://dev.mysql.com/doc/internals/en/index.html - Zrozumienie wewnętrznych aspektów MySQL autorstwa Sashy Pachev - https://www.facebook.com/note.php? note_id = 10150210901610933 - http://oss.sgi.com/projects/xfs/training/ - Niektóre zestawy huśtawki, próby i błędy.
EDYCJA: aktualizacja. Wydaje się, że EXT4 radzi sobie całkiem dobrze od połowy 2013 roku! BTRFS nadal nie jest dobrą opcją. RHEL może sprawić, że XFS stanie się nowym domyślnym systemem plików. Ponownie NIE używaj EXT3.
źródło
Krótka wersja jest taka, że najbliższą rekomendacją, jaką widziałem MySQL na systemach plików, jest XFS, jednak ext3 również powinien być w porządku, ext4 zapowiada się na dobre ulepszenie, ale wciąż nie jest całkiem stabilne, chociaż powinno być przed koniec roku.
Jeśli korzystasz z systemów plików klastra, CXFS, OCFS2 i GFS powinny działać poprawnie.
Ostrzegam przed wszelkimi pochodnymi Reisera, a JFS, chociaż niegdyś miły, został w większości pokonany przez XFS i ext4, które są bardziej rozpowszechnione.
źródło
Nie ma większego znaczenia. Idź z tym, co domyślnie używa Twoja dystrybucja, pod warunkiem, że jest wystarczająca.
Poświęć trochę czasu na dostrojenie innych rzeczy - zdobądź wystarczającą ilość pamięci RAM - zdobądź kontroler rajdu, który nie jest do bani - i napraw lame (ab) korzystanie z bazy danych (Uwaga: jest to główny winowajca w większości przypadków, w których jeszcze tego nie zrobił zostało zrobione).
Zastanów się jednak uważnie, na jakim systemie plików umieścisz tmpdir mysql; wpłynie to na wydajność, w szczególności na zapytania, które wykonują sortowanie na dyskach (zobacz EXPLAIN, aby uzyskać więcej informacji).
Myślę, że system plików, który obsługuje opóźnione przydzielanie, jest naprawdę przydatny, ponieważ można całkowicie uniknąć operacji wejścia / wyjścia dla plików krótkotrwałych, gdy jest wystarczająca ilość pamięci RAM, aby utrzymać je w pamięci podręcznej. Na przykład XFS nie zawraca sobie głowy pisaniem plików, które są usuwane i zamykane przed ich przydzieleniem.
Oczywiście umieszczenie tmpdir na tmpfs jest atrakcyjne z punktu widzenia wydajności, ale prowadzi do ryzyka wyczerpania przestrzeni i posiadania zapytań, które w innym przypadku zakończyłyby się powodzeniem (choć przy użyciu plików tymczasowych dysku) nie powiodłyby się.
źródło
Nie znalazłem żadnych najnowszych artykułów z porównawczymi „łapankami” na MySQL działających na różnych systemach plików. Biorąc pod uwagę obciążenie, które opisujesz, wątpię, aby fragmentacja na poziomie pliku była dużym problemem. Bez formalnego testu porównawczego nie mogę powiedzieć niczego, co należy uznać za wiarygodne, ale moje przeczucie mówi, że każdy system plików, o którym wspomniałeś powyżej, będzie działał w przybliżeniu na tym samym boisku (tj. Wszystkie w tym samym rzędzie wielkości dla wyników) .
Baza danych naprawdę uruchamia program, ponieważ system plików po prostu zarządza dużymi zakresami, do których ma dostęp silnik pamięci.
Byłoby jednak interesujące przeprowadzenie podsumowania wydajności ze wszystkimi tymi systemami plików. (Mam jednak mniej niż entuzjazm dla MySQL, więc nie zamierzam tego podejmować. Benchmarking Postgres, OTOH, może być interesujący ...)
źródło
IMHO warte odnotowania FS dostępnych dla systemu Linux to:
XFS (słaba prędkość odczytu), znany z tego, że jest lekki w zasobach systemowych i szybki z dużymi plikami, ale kiepski w obsłudze wielu małych plików.
ReiserFS (słaba prędkość zapisu) niezbyt przyjazny dla zasobów systemowych, ale działa bardzo dobrze z dużą ilością małych plików.
EXT3 znajduje się pomiędzy, działając akceptowalnie na wszystkich polach (powód, dla którego uważa się go za domyślny Linux FS).
Sam jeszcze nie korzystałem z EXT4, ale nie z ReiserFS4, ale rozejrzałem się nad niektórymi testami porównawczymi, a ReiserFS wydaje się mieć najlepszą wydajność, jeśli chodzi o szybkość czytania, która, jak powiedziałeś, była dla Ciebie najważniejsza.
Spójrz na to: ReserFS4 X Ext4 X Ext3
Polecam Ext3 ze względu na jego stabilność, bezpieczeństwo i dojrzałość, ale jeśli szybkość odczytu jest dla Ciebie najważniejsza, powinieneś rozważyć ReiserFS.
Pamiętaj, że powinieneś również rozważyć użycie procesora, stabilność, bezpieczeństwo itd. Przed wyborem FS.
Oczywiście przeprowadzenie pilotażu, przetestowanie i przeprowadzenie testów porównawczych w konkretnym środowisku jest zawsze najlepszym sposobem na określenie, co będzie dla Ciebie najlepsze.
PS: opublikowałbym więcej testów porównawczych, ale nie mogę opublikować więcej niż jednego linku.
źródło