2008/12/29

Czy benchmarki SPC mają sens?

EMC2, gigant w świecie systemów pamięci masowych nie poddaje swoich macierzy testom SPC. To znaczy same testy zapewne zostały wykonane, ale ich wyniki nigdzie oficjalnie się nie ukazały. Firma oczywiście uzasadnia dlaczego nie bierze udziału w testach, o czym możemy poczytać chociażby na blogu dotConnector.

EMC głównie zarzuca SPC, że ich model testów nijak nie odzwierciedla rzeczywistego przetwarzania w środowisku produkcyjnym. Nie mam wystarczająco wiedzy, aby się z tym zgodzić lub nie. Mogę jednak sprawdzić inny argument używany w tym temacie przez EMC, a mianowicie - "Co to za benchmark, który pokazuje tylko , że im więcej dysków tym lepsza wydajność?". Wrzuciłem do Excel'a wyniki testu SPC-1, które kilka tygodni temu mozolnie przepisałem do tabelki i stworzyłem taki oto wykres:


Pokazuje on jak wydajność (iops) testowanych sprzętów zależy od ilości zainstalowanych w nich dysków (dysk#). No i rzeczywiście - ilość dysków jest zasadniczym parametrem wpływającym na moc macierzy i bezpośrednio przekłada się na możliwą do osiągnięcia ilość IOPS. Sześć lat postępu technicznego (z takiego okresu są wyniki SPC), różne prędkości FC, różne ilości pamięci cache, krótsze i dłuższe pętle FC na backend'zie, dziesiątki rodzai i wersji software'u, a wszystko i tak zależy od tego ile dysków siedzi w pudle. Dodam, że wszystkie testowane urządzenia miały ten sam rodzaj dysków - 15k RPM.

Czy to oznacza, że EMC ma rację, a testy SPC nie mają sensu? Po części wydaje mi się, że tak. Dyski są wolne i szybsze nie będą (nie piszę tutaj o SSD). W temacie wydajności inne komponenty macierzy muszą się równać do wolnych dysków.  Chyba, że macierz jest na tyle źle skonstruowana, że nie jest w stanie wykorzystać nawet tej małej wydajności dysków. Może to jest odpowiedź na pytanie dlaczego EMC nie publikuje wyników testów SPC swoich macierzy? Może sens testów SPC to właśnie udowodnienie, że sprzęt potrafi wycisnąć z dysków ile tylko ich ograniczenia fizyczne na to pozwalają? 

Na wykresie jak widać jest też kilka ciekawych wyjątków, do których może kiedyś wrócę.

1 komentarz:

Unknown pisze...

Witam!

Masz racje w tym, że możliwa do uzyskania liczba IOPS zależy od liczby napędów dyskowych zainstalowanych w macierzy. Zapewne też łatwiej uzyskać dużą liczbę IOPS używając dysków FC (10krpm i 15krpm) niż SATA, z powodów o których pisałeś w innym miejscu.
Moim zdaniem jednak nie przemawia to za stwierdzeniem, że testy SPC-1 są bez sensu. Podejrzewam, że producenci umieszczając określoną liczbę dysków w macierzy poddawanej testowi:
1. starają się dobrać wystarczająco duża liczbę dysków, by wydobyć/pokazać możliwości kontrolera
2. nie umieszczają zbyt wielu dysków, by nie podbijać ceny, po to by nie pogarszać wskaźnika "SPC-1 Price-Performance", którego później używają w celach marketingowych

Pisałeś w innym miejscu, diabeł tkwi w dyskach a właściwie w sumie parametrów dużej ilości dysków. Jednak inna oczywistość mówi, że to co w stanie dać z siebie dyski musi być przetworzone przez kontroler(y). I tu siedzi diabeł -- software, optymalizacje dla poszczególnych RAIDów (jak full stripe write dla RAID5 i 6 itd.).

Dlatego moim zdaniem SPC-1 daje jednak pewien obraz wydajności kontrolera w IOPS. Nie przekonuje mnie argumentacja EMC. Firma w stosunku do naszych projektów postępuje w sposób: dajcie nam specyfikację, my damy Wam najlepszą macierz (cena x4 reszta, przy porównywalnych parametrach z innymi macierzami - poziom midrange, o enterprise'ach nie będę się wypowiadać).

Dla mnie największym ograniczeniem testu SPC-1 jest fakt, że skupia się na IOPS. Dopiero SPC-2 zawiera benchmark przepustowości w MB/s, która w pewnych zastosowaniach (np. przetwarzanie dużych plików, backup/archive, video-streaming itp.) jest istotne.

Z mojego doświadczenia, wiele macierzy, które są zoptymalizowane na IOPS-y, niestety "wymiękają" na przepustowości. I dlatego cieszę się, że SPC zdecydowało się na wprowadzenie testu sustained throughput w wersji 2 benchmarku.

Pozdrowka!

Bieznikos