Skocz do zawartości
Zaloguj się, aby obserwować  
GyniO

Dyski SSD -

Polecane posty

Witam, zauważyłem ostatnio sporo nowych oferty serwerów vps/dedykowanych z dyskami SSD i stąd pytam:

 

Czy dyski SSD w serwach coś wnoszą do jakości/szybkości nginx/mysql (percona)/memcached?

 

Nie raz się spotykamy z źle dopasowanymi konfiguracjami komputerów/serwerów - coś nie nadąża za czymś...

 

Czy faktycznie widać jakąś różnicę w tych ofertach z dyskiem SSD? Zdaje sobie sprawę, że zależy od tego co jest stawiane ( skrypt ) i od konfiguracji serwera... ale jak to jest z SSD czy jest to chwyt marketingowców bo dyski SSD są na topie czy faktycznie konfiguracje mogą przyśpieszyć działanie usług.

 

Pytam jako laik, który w najbliższym czasie będzie szukał nowej maszyny...

 

 

 

Jeżeli wybrałem zły dział, proszę o przeniesienie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Cześć,

wszystko naprawdę zależy od aplikacji, jednak w przypadku dajmy na to hostingu współdzielonego (mieszanina różnych skryptów PHP) to dyski SSD to ogromny kop do wydajności, gdyż znączną część czasu procesora pochłaniał czas oczekiwania na operacja in/out macierzy.

Przykładowo pojedynczy dysk 15k RPM SAS to około 200IOPS, pojedynczy dysk SATA 7,2krpm to około 100IOPS
Gdzie SSD to minimum 20k IOPS.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość patrys

Ciężko by dysk pomógł w Memcached jeżeli bazuje on na pamięci RAM ;)

W reszcie aplikacji pomoże, a szczególnie w bazach danych które potrzebują szybkiego I/O.

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeżeli chodzi o memcached to jak @up - RAM jest ważny, bo memcached dysku nie dotyka (chyba, że masz zapisywanie, ale to też nie problem.

 

W momencie podawania plików statycznych przez nginx musiałbyś mieć naprawdę sporawy ruch, żeby SSD pomogło. Jednak w momencie kiedy mamy PHP + MySQL to wszystko przyśpiesza z SSDkami i to często dość konkretnie (nawet do 20-40x więcej requestów jest w stanie obsłużyć jeżeli tylko jest wolnego procesora i RAMu trochę).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ktoś gdzieś tam napisał SSD to nie jest szybki dysk, tylko powolny RAM...

 

Po prostu wszędzie tam gdzie aplikacja z konieczności musi używać dysku (np. częste czytanie z bazy danych która jest większa niż ilość dostępnej pamięci RAM) różnica w działaniu będzie zauważalna.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzięki za odpowiedzi.

 

Głównie interesuje mnie nginx/mysql ( pod kontem gry online ), gdzie zakładki się powinny otwierać błyskawicznie ( w dobrych momentach trwa to max 1-2 sekundy) - w gorszych trochę dłużej ( szczególnie podczas podliczania danych statystyki kont )

 

Jako programista zdaje sobie sprawę, że głównie zależy to od kodu, ale od ponad 5 lat korzystam z usług ovh i się zastanawiam, czy jest faktycznie sens zmieniać serwer dla dysku SSD. Czy coś faktycznie będzie na plus czy się nawet pogorszy.

 

Istnieje jakaś możliwość sprawdzenia co bardziej opóźnia przymula: Nginx/mysql/memcache przy wczytaniu strony?

 

Podsumowująć: można liczyć, że bardziej "skomplikowane" obliczenia php'a oraz mysql powinny nieco przyśpieszyć - gdzie przy kilku requestach na sekundę będzie można to odczuć?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sprawa jest trudna do teoretycznych rozważań. Jeśli masz PHP z jakimś akceleratorem typu APC czy Xcache to sama zmiana dysku w zasadzie nie wpłynie na szybkość działania PHP. Na MySQL może, na pewno na zapis. Mówisz, że dokonujesz przeliczeń statystyk, jeśli przy okazji piszesz do DB to różnica będzie. Ale też nie jest to oczywiste - jeśli rozpatrywać po drodze serwer z kontrolerem dysku z włączonym write back, a zapisu nie jest dużo to zapis do podsystemu dyskowego także będzie szybki nawet na dyskach magnetycznych.

 

Przy odczycie sprawa nie jest oczywista - zależy od wielkości danych, sposobu konfiguracji bazy danych. Jeśli ilość danych w bazie w stosunku do RAM jest optymalna, a baza odpowiednio dostrojona to często używane dane będą siedzieć w RAM i szybkość dysku dla odczytu nie będzie mieć znaczenia lub będzie mieć niewielkie. Do tego trzeba pamiętać, że sam system operacyjny dąży do cache'owania najpotrzebniejszych danych dla potrzeb odczytu.

 

Jak widzisz to równanie z wieloma niewiadomymi. Reasumując, jeśli dotąd nie optymalizowałeś konfiguracji na obecnym serwerze to warto rozważyć. Jeśli jednak jesteś już w okolicach optimum konfiguracyjnego to dalsze prace w tym zakresie mogą nie być opłacalne. Praca ludzi potrafi być dziś droższa niż nowinki technologiczne ;-). A więcej RAM i przejście na SSD na pewno da wzrost wydajności.

 

Dodałbym apel o dobry kod, ale po treści posta wnioskuję, że o to dbasz.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

GyniO - jeżeli dalej w kodzie jest choćby kawałek Ugameli (bo myślę, że o Progameli piszesz) to niestety kod jest problemem. Przy (jak to napisałeś) kilku req/s nie powinno być w ogóle problemów.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×