Więc chcesz użyć SSD do przyspieszenia serwera?



Twój serwer, jak każdy szanujący się, spędzą większość czasu nudząc się oczekując na zakończenie operacji wejścia/wyjścia. Jak mu pomóc?

Na zakup serwera z terabajtem RAMu Cię nie stać. A szkoda, bo obsługiwałby obsceniczną liczbę setek tysięcy IOPS. Macierz SSD też pewnie przekracza limit na kredytówce. Milion operacji wejścia/wyjścia na sekundę — fun! Developerzy linuksa już usuwają wąskie gardła przy współpracy z F5100.

No to z ciężkim sercem decydujemy się tylko na ,,przyspieszenie'' podsystemu dyskowego używając SSD. Tylko co tam wtrynić… jeśli używasz programowego RAID, możesz przejrzeć man mdadm i nauczyć się o write intent bitmap. Który to wib dobrze będzie się czuł na SSD.

Ale to wciąż mało, mało i niewiele daje. OK, spójrzmy trochę wyżej na system plików. Jeśli posadowiłeś dane na ext3/4, XFS to super. Możesz wynieść journal na zewnętrzne urządzenie. Twoja baza danych wesoło zareaguje zwiększeniem ilości możliwych zapisów na sekundę z 200÷300 (HDD) do 10 tysięcy (sprawdzić, czy SSD Intela). Jeśli masz JFS to również możesz zeksternalizować dziennik. Ale mając JFS na produkcji powinieneś bać się $DEITY.

Oczywiście niebycie pingwiniarzem zaprocentowało. Używając ZFS dostępnego w FreeBSD i Solarisie już dawno zastosowałeś dyrektywę log. Obecnie Twój ZIL podkręca licznik zużycia komórek SSD, a Ty czytasz ten wpis celem pośmiania się z przyjaciół drobiu arktycznego.

Załatwiliśmy zapisy, ale wciąż nie wszystko mieści się w buforze i odczyt czeka na odpowiednie położenie mechanicznej głowicy i talerza. Bo za złotówkę można dostać 2,3 GiB talerza w dysku. RAM jako bufor to tylko 0,008 GiB / PLN. SSD gdzieś pośrodku, ze jednego złocisza — jedna dziesiąta GB.

Odczytom pomóżmy jakąś pamięcią podręczną. ZFSowcy ponownie robią zieeeew, bo L2ARC od lat czyni im cuda z wydajnością. Podobnie podśmiewają się (wszyscy dwaj) użytkownicy DragonflyBSD. Tam swapcache załatwia brudną robotę.

Za to w linuksie dostępny jest pierdyliard rozwiązań, z których każde kuleje na inną nóżkę. I gotowe będzie za pół roku. Gimnastykować się można z FS-Cache i udawać, że wcale nie działa tylko z NFS, AFS i iso9660. Bo ma potencjał.

Potencjał ma też dm-cache. Działa na tylko sprawnie, że Facebook po drobnych przeróbkach i przemianowaniu na flashcache stosuje go produkcyjnie.

Można poczuć się jak saper i wypróbować bcache. Autor będzie wdzięczny za pomoc w ustabilizowaniu rozwiązania. Klienci za wysłanie ich danych w kosmos trochę mniej.

Obiecująco wyglądało dm-hstore. Heinz jednak zajął się innymi, bardziej pasjonującymi zabawkami i odłożył swoje dzieło na półkę. Wyraźniejszy jest cleancache, który teoretycznie może być zastosowany z SSD jako zapleczem.

Pozostaje mieć nadzieję, że Josef po zakończeniu walki z O_DIRECT zajmie się trzymania drzewa intencji btrfs na zewnętrznym urządzeniu. A potem dorobi drugi poziom cache w podobny sposób. Może za pół roku.


Archived comments:

krzyszsz 2010-05-03 22:10:07

Nie wiem czy dobrze zrozumiałem, ale chyba zrobiłeś mały błąd w zdaniu: "Bo za złotówkę można dostać 2,3 GiB talerza w dysku. RAM jako bufor to tylko 0,008 GiB / PLN. SSD gdzieś pośrodku, ze jednego złocisza — jedna dziesiątka GB". SSD ma droższy gigabajt niż gigabajt na talerzu. Nie wiem co to jest ZIL - sprawdzę w wolnej chwili. : ) Wpis jak każdy o ssd, ciekawy. : ) BTW u mnie był ostatnio wpis z dużą ilością komentarzy na ten temat.

zdz 2010-05-03 22:20:18

SSD jest droższe za GB. Za 1zł kupimy 23 razy mniej. Ceny oczywiście obrazują tylko rząd wielkości, a brałem do porównania następujące:
Seagate 2 TB 7200rpm 64MB cache SATA III Barracuda XT SATA600 [ST32000641AS]  869zł
Intel X25-M SSD 80GB (250MB/70MB) [SSDSA2MH080G2C1]  799zł
A-Data 4GB (2x2GB) 2000MHz CL9 Xtreme Series
[AX3U2000XB2G9-2X] 499zł

krzyszsz 2010-05-03 22:34:58

Ok, może się przyczepiłem niepotrzebnie. Chodziło mi o wyrażenie jakiego użyłeś: "jedna dziesiątka" potocznie oznacza liczbę 10 a nie liczbę 0.1.

zdz 2010-05-03 22:36:40

O! Literówka! Już poprawiam, dzięki.

LCF 2010-05-03 23:16:12

"10 tysięcy (sprawdzić, czy SSD Intela)." <- zrobiłeś własne testy czy tylko czytałeś w necie ? Bo mam ciut inne wrażenia jeżeli chodzi o zapisy.

mina86 2010-05-03 23:49:47

Czemu użytkownicy BSD bardziej nie lubią GNU/Linuksa niż zamkniętych systemów?

quackety 2010-05-04 01:12:47

Jest ZFS na FUSE, ale nie testowałem.

Ogólnie, *bardzo* fajny wpis.

pecet 2010-05-04 01:58:21

Czy w przypadku XFS można przenosić journal w locie z partycji z danymi na zewnętrzna i odwrotnie, czy trzeba najpierw odmontować partycję?

mt3o 2010-05-04 06:58:07

Na logikę powinno się odmontować. Zresztą, to bezpieczniej.

rozie 2010-05-05 06:59:01

@mina86: Pewnie zazdrość. *BSD niestety miejscami mocno przegrywa z Linuksami (miejscami oczywiście równie mocno wygrywa). A skoro przy BSD jesteśmy, czy Debian kFreeBSD pozwala na stosowanie ZFS? Z wszystkimi ficzerami?

ejdzej 2010-05-08 09:14:22

"Czemu użytkownicy BSD bardziej nie lubią GNU/Linuksa niż zamkniętych systemów?"

Bo zajmują tę samą niszę ekologiczną.

Comments


Comments powered by Disqus