Dlaczego aplikacja bardzo obciążająca dyski działa szybciej w sieci SAN niż na dysku fizycznym?

21

Dlaczego aplikacja bardzo obciążająca dyski działa szybciej w sieci SAN niż na dysku fizycznym? Spodziewałbym się, że dysk fizyczny będzie nieco szybszy, ale w rzeczywistości proces działał 100 razy szybciej, gdy jego dysk roboczy był ustawiony na partycję w sieci SAN.

Domyślamy się, że SAN jest zoptymalizowany natychmiast po wyjęciu z pudełka, podczas gdy ustawienia dostrajania dysku fizycznego są związane z systemem operacyjnym (Solaris) i nie zostały dotknięte ani załatane.

Podczas największej aktywności We / Wy dysku działało na 100%, a czas na zakończenie zapisu wynosił ponad 2 sekundy, ponieważ kilka procesów zapisywało na dysk w tym samym czasie.

(FYI dotyczyła aplikacji Informatica PowerCenter)

Stuart Woodward
źródło

Odpowiedzi:

23

Wcale mnie to nie dziwi. Macierze SAN zwykle zawierają dużo dysków. Czynnikiem ograniczającym we / wy dysku jest szybkość pojedynczego dysku i tych stosów. 6 dysków lokalnie w macierzy RAID10 będzie działać lepiej niż 2, a 80 dysków w sieci SAN będzie działać lepiej niż 10 dysków lokalnie. Istnieją oczywiście zmienne, ale tak to powinno działać.

Ponadto, jeśli w sieci SAN są zaangażowane jakieś dyski SSD, sprawy stają się naprawdę zawrotne.

sysadmin1138
źródło
15

Jest to prawie na pewno spowodowane buforowaniem. Prawdopodobnie DAS ma minimalne buforowanie, podczas gdy większość sieci SAN dla przedsiębiorstw ma wiele gigabajtów pamięci podręcznej. Domyślam się, że aplikacja nasyca pamięć podręczną DAS, ale nie pamięć SAN.

Chris S.
źródło
1
Oczywiste opóźnienia w sieci SAN są dłuższe niż w DAS, ale ogólna przepustowość jest wyższa w sieci SAN przy całym buforowaniu. Dobra odpowiedź.
Matt
a potem często jest pamięć podręczna odczytu z wyprzedzeniem, więc jej losowe odczytywanie / zapisy, które przyjmują największe trafienie, a następnie można buforować zapisy, aby były to tylko losowe odczyty, które zostały naruszone, ale wciąż dość małe opóźnienie.
Silverfire,
1
Prawidłowo skonfigurowany podsystem pamięci masowej w sieci SAN, który nie jest przeciążony, powinien zapewniać losowy czas zapisu około 1-2 ms.
MikeyB
@MikeyB Nie zgadzam się z tobą. 1-2 ms pisz do SAN wydaje się słuszne. Ale konfiguracja SAN Charlesa była 100 razy szybsza niż jego przeciążone dyski fizyczne (zapisy trwały> 2 sekundy dla tych ostatnich). Więc nawet jego wydajność SAN nie jest tak dobra, przy 20 ms zamiast 1-2 ms ...?
Ellie Kesselman,
9

Pod względem koncepcyjnym zawsze wydaje się, że serwowanie dysku z SAN powinno być wolniejsze niż serwowanie go lokalnie. Istnieje jednak wiele czynników, które mogą to odwrócić i spowodować, że SAN będzie znacznie szybszą opcją. Niektóre z tych czynników to:

  • Czy twoje obciążenie pracą wymaga szybkiego wyszukiwania, dużej przepustowości, czy też obu tych czynników?
  • Ile wrzecion w SAN LUN w porównaniu z dyskiem lokalnym?
  • Jaka prędkość magistrali między SAN LUN a serwerem, a lokalny interfejs dysku?
  • Ile pamięci podręcznej odczytu / zapisu jest dostępne w jednostce SAN LUN w porównaniu z dyskiem lokalnym?
  • Z jaką prędkością wirują dyski w SAN LUN w porównaniu z dyskiem lokalnym?
  • Jakie inne działania IO mają miejsce na SAN LUN w porównaniu z dyskiem lokalnym?
  • Na jakim poziomie RAID są macierze w sieci SAN i pamięci lokalnej?

Wszystko to wpłynie na wydajność na SAN i dysku lokalnym.

Chris Thorpe
źródło
1

Wszystko sprowadza się do liczby dostępnych wrzecion .... Im większa liczba wrzecion, tym szybciej można uzyskać dostęp do dowolnego fragmentu danych. jeśli intensywnie korzystasz z operacji wejścia / wyjścia, szczególnie jeśli jesteś aplikacją bazodanową, możesz dość łatwo pogrzebać wydajność dysku lokalnego za pomocą rozwiązania SAN, które może mieć znacznie większą liczbę zestawów dysków do zarządzania podstawowymi danymi, indeksami itp.

Z lokalnym podsystemem dyskowym prawdopodobnie dzielisz również dostęp do głowic odczytu / zapisu z innymi operacjami, takimi jak wymiana r / w, lokalny system operacyjny i dostęp do plików biblioteki, dostęp do aplikacji itp. Chociaż indywidualnie szybki, czas zbiorowy wszystkie operacje odczytu / zapisu w celu przeniesienia głowic odczytu / zapisu z jednego obszaru dysku w celu pokrycia jednego zestawu akcji do drugiego w celu spełnienia wymagań aplikacji mogą z pewnością przewyższyć wydajność.

James Pulley
źródło