PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Завръщането на XFS в Linux

Ако използвате Linux, и особено ако използвате база данни на Linux, през последните години беше трудно да препоръчате друга файлова система, освен обикновена стара ext3. Някои от алтернативите, които изглеждаха интересни в един момент – jfs, ReiserFS – са напълно изоставени в този момент. Този, който е почти жизнеспособен от известно време, е XFS, първоначално SGI проекти. И тази седмица отново е в светлината на прожекторите.

XFS е страдал от редица проблеми в миналото. Тъй като беше проектиран за стабилен хардуер, в началото не беше толкова здрав на стандартния евтин компютърен хардуер; доста от това беше почистено преди две години. Имаше този странен проблем с нулирани файлове, който изплаши някои хора. Той беше третиран като гражданин от втора класа в бизнес-ориентирани Linux дистрибуции като RedHat, което изискваше да компилирате свое собствено ядро; дори на по-малко ограничителния CentOS, трябваше да направите някои странно изглеждащи стъпки за настройка, за да добавите поддръжка на XFS, и резултатът беше доста очевидно неподдържан. И като една от първите файлови системи, които се включват и агресивно използват бариери за запис, внедряванията бяха уязвими за устройства и контролери, които не изчистиха кеша си, когато им беше казано, проблем, който вече не срещате толкова често в съвременния хардуер, ако конфигурирате правилно (с изключение на SSD, но това е друга история).

Така че защо се притеснявам? Е, производителността е една от основните причини. Открих, че отново работя с XFS, когато наскоро работех с безплатния софтуер на Greenplum Single Node Edition. Greenplum ми каза направо, че не препоръчват нищо освен XFS за високопроизводителни инсталации и като се имат предвид основните прилики с общността PostgreSQL, почувствах, че си струва да проучим защо това е още малко.

Моментът за това се оказа идеален. Едно от другите ограничения на ext3 е, че на общ хардуер той ще поддържа само 16TB съхранение. Тъй като сега можете да поставите толкова много място за съхранение в стойка за дискове със среден размер, това очевидно не е достатъчно за системи от висок клас в днешно време, още по-малко след няколко години. Осъзнавайки това, RedHat сериозно възобнови подкрепата си за XFS в разпространението на Linux. RHEL 5.4, пуснат преди няколко месеца, го добави отново като допълнителен модул за някои клиенти. Все още не можахте да инсталирате на XFS и дори версията на CentOS не поддържаше 32-битови инсталации, но очевидно отново правеше стъпки към масовия поток.

Вчера беше пусната първата публична бета версия на RHEL6 и XFS се върна към основния набор от функции. Той се намира до ext4 в списъка на поддържаните файлови системи, като посочва неговата пригодност по-специално за големи инсталации. Така че сега мога да кажа на хората, че имат поддръжка на XFS, налична в малко груба форма в RHEL/CentOS 5.4, с очакването, че това е първокласна поддържана файлова система, тъй като системите ще бъдат надградени до RHEL6 и неговите производни в бъдеще и имат известна надежда, че ще бъде надежден.

С поддръжката на Enterprise Linux и съответно възприеманата стабилност на XFS кода най-накрая отново под контрол, какво ще кажете за производителността? Е, оказва се, че Greenplum е бил прав, че XFS си струва труда да започне да работи. Взех тестовия си сървър и преформатирах един от неговите умерено бързи дискове с три различни комбинации файлова система/монтиране:  ext3 ordered, ext3 journal и xfs. След три стартирания на bonnie++ 1.96 с всяка файлова система, резултатите, които видях, се разпаднаха по следния начин:

  • ext3 наредено:  39-58MB/s запис, 44-72MB/s четене
  • ext3 дневник:  25-30MB/s запис, 49-67MB/s четене
  • xfs:  68-72MB/s запис, 72-77MB/s четене

Докато най-добрите резултати за четене на ext3 се доближиха до подобни нива на това, на което беше способен xfs, средно се справяше много по-добре. И резултатите от записа бяха поне с 25% по-добри във всички случаи. Хареса ми и по-тесната, по-предвидима пропускателна способност; непоследователното представяне е нещо, с което често се боря на ext3.

Обикновено не съм от хората, които по-рано приемат новите версии на Linux, но бета версията RHEL6 с пълна поддръжка на XFS замени напълно поразителната нова версия на Ubuntu в горната част на списъка ми с операционни системи, които следва да инсталирам. Не се случва често да виждате, че технологията на файловата система получава втори шанс да впечатли, но изглежда, че XFS е направил неочакван преход обратно към напълно релевантно засега. Не съм сигурен колко дълго това ще е вярно, тъй като и ext4 вече е наличен, и btrfs се доближават до качеството на продукцията, като наскоро достигнат стабилен формат на диска. Ще бъде интересно да се види как се представя този обновен набор от възможности за файлова система в Linux.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL JDBC Null String, взет като байт

  2. Какъв тип данни за географска ширина и дължина?

  3. Откриване на дублиращи се елементи в рекурсивния CTE

  4. Spring Data JPA одитът не работи за метода за актуализиране на JpaRepository с анотация @Modifying, защо?

  5. Django:разрешение е отказано при опит за достъп до база данни след възстановяване (миграция)