2009/02/25

Wyniki SPC-2

Plan był taki, że po położeniu córki do łóżka usiądę przed komputerem i napiszę jakiś konkretny tekst. Sytuacja była ku temu sprzyjająca - żona Ania w delegacji w dużym mieście na literę W, znaczy, że nic innego ciekawego dziś nie porobię. Niestety (dla treści tego bloga) szwagrowie nie zawiedli. Po ich wyjściu mój umysł nie jest już tak klarowny i słowo nie łatwo poddają się gięciu. Ale nic to - mimo wszystko postaram się napisać coś z sensem.

Jak już wspomniałem kilka postów wcześniej, wskrzesiłem swoją stronę www. Umieściłem na początku na niej swój kalkulator. Było tam dosyć pusto więc wrzuciłem jeszcze wyniki spc-1, które kilka miesięcy temu podczas choroby przepisałem ze strony spc. Pusto było nadal, dlatego wczoraj przepisałem i zamieściłem wyniki spc-2. Chciałem dziś napisać coś o tym benchmarku i moich spostrzeżeniach, ale ze wspomnianych na początku względów przełożę to na później.

Moja strona ciągle jest bardzo uboga. Jednak planuję systematycznie rozbudowywać ją w nowe narzędzia, dane i analizy. Chcę, mieć tam to co jest mi potrzebne w pracy storage'owca, a nie ma tego w sieci.

2009/02/09

NearLine for Online - historia zmiany mojego nastawienia do dysków SATA

Jakiś czas temu firma 3PAR sformułowała hasło "3PAR NearLine for Online". W ten sposób przekonują, że ich macierz z dyskami SATA poradzi sobie nie tylko jako przestrzeń archiwalna, ale również jako macierz na potrzeby innych, bardziej wymagających zastosowań. Czytałem o tym jeszcze zanim 3PAR pojawił się w naszej serwerowni. Traktowałem to wtedy raczej jako hasło marketingowe, a nie realną możliwość. Dlatego też wszystkie dyski w naszym 3PAR'ze to FC 10k RPM. Po migracji danych okazało się, że macierz w szczytach obciążona jest w 20%. Teraz po blisko roku eksploatacji, podwojeniu wykorzystanej przestrzeni i ilości podłączonych serwerów utylizacja dysków ledwo dochodzi do 40%. Wydaje się, że zastosowanie tej samej ilości 2x mniej wydajnych dysków 7200 RPM miało by sens. Ta obserwacja była pierwszym etapem zmiany mojego podejścia do tematu NearLine.
We wrześniu poprzedniego roku uczestniczyłem w prezentacji nowego nabytku firmy IBM - macierzy XIV. Jest to urządzenie, w którym nawet nie ma możliwości użycia innych dysków niż SATA. Wiedząc o tym, nie miałem zbytniej ochoty tracić czas na słuchanie o tym sprzęcie. Ze spotkania wyszedłem jednak z ogromną chęcią na przetestowanie tego rozwiązania. 
Testy wykonaliśmy razem z Suchym zdalnie na box'ie ze 180 dyskami 1 TB SATA (wtedy była to jedyna możliwa konfiguracja XIV). Okazało się, że macierz całkiem nieźle sobie radzi. Po tym doświadczeniu byłem już prawie przekonany, że dyski NearLine są realną alternatywą dla FC.
Ostatnim etapem zmiany mojego nastawienia były testy jakie wykonaliśmy z Lee Angel i Billem McCormack z 3PAR na macierzy T400 wyposażonej w 80 dysków 7200 RPM 750 GB. W zasadzie to testy wykonał Bill zgodnie z moimi wymaganiami, a ja z Lee obserwowaliśmy je poprzez zdalną sesję WebEx. Użyliśmy oprogramowania vdbench  zainstalowanego na jednej maszynie x86 z Linux'em, podłączonym do macierzy 4 linkami 4 GB/s. 
O ile w przypadku XIV domyślając się oczywistej odpowiedzi IBM'a, nawet nie pytałem się o zgodę na publikację wyników testów, to w przypadku 3PAR'a nie miałem takich oporów i zgodę otrzymałem. Już kilkakrotnie wspominałem, że będę chciał o tym napisać. Chcąc zrobić to rzetelnie starałem się wyliczyć jakie są oczekiwane wyniki poszczególnych testów. Efektem tych starań jest mój kalkulator. Do wyliczeń użyłem poniższych parametrów środowiska i testów:
  • Disk capacity  - 750 GB
  • Disk rotation speed - 7200 RPM
  • Disk ave seek latency - 9 ms
  • Number of disk - 80
  • RAID level - 10
  • stripe size - 256 KiB
  • vdbench block size - 0,5 KiB
A oto parametry poszczególnych testów, ich spodziewane rezultaty i faktycznie osiągnięte wyniki:
%reads / %writes / % read cache hit ratio / %write cache hit ratio / io size | expected iops | achieved iops |
  • 70/30/80/20/8k |  9 520, 98 |  11 216, 26 |
  • 70/30/80/20/32k  |  8 726, 12 |   8 122, 95 |
  • 100/0/0/0/8k |  5 903, 01 |   9 178, 55 |
  • 0/100/0/0/8k |  2 951, 50 |   2 365, 97 |
  • 100/0/0/0/256k |  3 040, 94 |   3 973, 60 |
  • 0/100/0/0/256k |  1 520, 47 |      942, 31 |
Vdbench bardzo trafnie rozkładał operacje po wystawionej przestrzeni dzięki czemu faktyczna ilość trafień w cache odpowiadała prawie dokładnie ustawionym parametrom. Dwa pierwsze testy przedstawiają najczęściej występującą charakterystykę przetwarzania w mojej firmie. Pozostałe miały na celu sprawdzenie jak sobie macierz radzi w skrajnych sytuacjach. Z wyjątkiem testu 100% zapisów, wszystkie nietrafione w cache, blok 256 KiB, wyniki są bardzo dobre. Ten jeden wynik nie jest najlepszy, macierz osiągnęła tylko 62% spodziewanej wydajności. Nie udało mi się wyjaśnić z czego wynika takie zachowanie 3PAR'a. Test ten nie odzwierciedla jednak realnego przetwarzania dlatego też uważam, że macierz spełniła moje oczekiwania, a moje nastawienie do dysków NearLine jeszcze bardziej się poprawiło.
Co w tych dyskach SATA jest takiego fajnego, że tak bardzo staram się udowodnić tezę "NearLine for Online"? A więc tak:
  • niska, przynajmniej teoretycznie cena - w praktyce jest różnie, zależnie od producenta
  • duża pojemność - są już przecież dyski SATA 2 TB
  • niski pobór prądu
Z tego wynika, że macierz zbudowana z takich dysków będzie w porównaniu do macierzy z dyskami FC - tańsza, mniejsza, oszczędniejsza w utrzymaniu. Jedynym problemem jest wydajność. Receptą na ten problem jest jednak zastosowanie odpowiedniej macierzy, takiej jak 3PAR, XIV, Pillar czy też Compellent. Wszystkie one wykorzystują mechanizm "wide striping", czyli rozłożenia pojedynczego wolumenu na dużej ilości dysków. W ten sposób, możemy osiągnąć duże ilości IOPS nawet na dyskach SATA. 
Wszystko to jednak tylko teoria. Mam nadzieję, że będę mógł sprawdzić ją w praktyce, ale to zależy od tego kto wygra przetarg na naszą nową macierz :) 
Historia się nie kończy. Tak więc c.d.n.