Skocz do zawartości
  • Cześć!

    Witaj na forum RootNode - aby pisać u nas musisz się zarejestrować, a następnie zalogować. Posty pisane z kont niezarejestrowanych nie są widoczne publicznie.

Porównanie 3 ofert hostingowych


housemd

Rekomendowane odpowiedzi

Nie miałem co robić więc zrobiłem dla siebie porównanie 3 usług do których mam dostęp. Interesowała mnie wydajność baz danych w poszczególnych ofertach, użyłem do testu narzędzia :

http://blog.hekko.pl/prosto-zmierzyc-wydajnosc-mysql/

Mam nadzieję, że komuś się to przyda :) W szczególności interesowała mnie różnica pomiędzy @MyDevil.net MD3 użytkowanego obecnie i @progreso.pl hybrid1 na który się przenoszę. Do całości dodałem jeszcze wyniki do niedawna użytkowanego @dhosting.pl EWH. Nie zagłębiam się jak Hekko zoptymalizowało narzędzie pod swoją infrastrukturę, wrzuciłem plik na darmowe konto oferowane wraz z każdą z ofert, php 7.2 (w przypadku mydevil 7.1) i wyszło mi to :

mydevil_single_query_per_connection.thumb.png.65e95f4f974248f43767a83afe815022.pngmydevil_all_querues_per_connection.thumb.png.d68f55dfc075404e6ec73aaf0e591e46.pngmydevil_transactions.thumb.png.6466e564b493b547e82c217398616944.png

progreso_single_query_per_connection.thumb.png.e390b5f264082c0315865d1d9867dc16.pngprogreso_all_querues_per_connection.thumb.png.2d3d38c49f57de1a0b708907b36dbfa6.pngprogreso_transactions.thumb.png.e50729491114470175a3bf4c4e4cac17.png

dhosting_single_query_per_connection.thumb.png.098d784169404215da915db68b452784.pngdhosting_all_querues_per_connection.thumb.png.f5ad8f143bb7d57c4223d56517926e2f.pngdhosting_transactions.thumb.png.613dfeeaf7190dcc87e4dad10a506feb.png

Jak oceniacie różnice ?

Edytowane przez housemd
  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

Jak twórca tego narzędzia pragnę odnieść się do delikatnej sugestii @housemd i nadmienić, że Hekko nie optymalizowało skryptu "pod swoją infrastrukturę", a jego kod źródłowy jest w pełni jawnym PHP'em, każdy może pobrać i obejrzeć. Nie ma tu żadnej manipulacji, wykorzystywania "ukrytych funkcji MySql" na serwerach Hekko itp. Opowiadam o nim także na filmie na YT i opisuję, co dokładnie robi. To po prostu pętle wykonujące ileś tam powtórzeń selectów, insertów itd.

 

A poza tym i prywatnie i "służbowo" cieszę się, że korzystacie z czegoś, co tworzymy  i co udostępniamy Wam w ramach marki Hekko. Miło widzieć!

W interpretacji wyników, jeśli mogę coś skomentować, to warto sprawdzić o różnych porach dnia, wyciągnąć średnią. Bywa, że wyniki się wahają zależnie od pory dnia (obciążenia serwera w cyklu dobowym).

 

Co do liczb: Różnice widać "gołym okiem" - bo aplikacja koloruje wyniki tak, żeby szybko się interpretowało. Progi kolorowania są arbitralne, ale widać, że niektóre hostingi w niektórych operacjach dają gorszą wydajność, z tych co podesłałeś powyżej jeden radzi sobie nieco gorzej, co może być odczuwalne zwłaszcza w mechanizmie  InnoDB.

 

Pamiętajmy też, że czerwona lampka nie musi oznaczać niczego złego, jeśli dany typ operacji, na danym mechanizmie składowania, nie jest przez nas często eksploatowany. Na przykład masowe wbijanie rekordów w innoDB, bez transakcji, może wyglądać słabo na jakimś hostingu, ale może dana aplikacja, którą będziemy hostowali, wcale takich operacji nie wykonuje? Testy umożliwiają puszczanie skryptu w kilku trybach, tj. innoDB z transakcjami i bez, a także myISAM, żeby każdy mógł sobie zasymulować coś możliwie bliskiego swojemu realnemu zastosowaniu. Tak, że mówiąc o wyniku warto porównać to, na czym komu najbardziej w danej aplikacji zależy. Czyli jeśli wiem, że moja aplikacja bazuje na MyISAM i - co za tym idzie - nie używa transakcji, a ponadto rzadko czytam, a często wbijam nowe rekordy (np. baza logów itp.) - to w takim wypadku interesuje mnie głównie szybkość Inserting Records dla MyISAM i pod tym kątem będę oceniać wydajność środowisk hostingowych.

Warto też patrzeć na ten skrypt jako pomoc programistyczną, a nie tylko narzędzie porównywania hostingów. Jeśli coś tworzysz, to dzięki skryptowi możesz szybko sobie obejrzeć, jakie konsekwencje wydajnościowe dla Twojej aplikacji może mieć np. zmiana mechanizmu składowania albo zamykanie wielu operacji w transakcje, albo przynajmniej - wykonanie ich w jednym połączeniu do bazy vs. łączenie do bazy per każde zapytanie. 

  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

Bardzo fajny (naprawdę fajny!) :) skrypt pod testy syntetyczne, jednak osądzanie na ich podstawie usług nie jest najlepszym rozwiązaniem (choć jakieś pojęcie może dać). Sprawdziliśmy go na kilku naszych środowiskach testowych i wynika z niego, że najlepsze cyferki osiąga się przy MySQL 5.5 (lub niższym). Przy 5.6 i 5.7 są już odczuwalne spadki, więc albo szybkość (na sucho) albo funkcjonalność- wybór jak zwykle należy do klienta :)
Najlepiej też, aby bazy działały w oparciu o MyISAM. Wynik skryptu mocno zależy od mocy CPU w danej chwili, a w dużo mniejszym stopniu od dostępności IO więc dyski SSD czy karty NVME mają w tej kwestii niewielki wpływ na wynik. Dlatego w nocy te wyniki mogą się znacznie od siebie różnić. Po zajawce tematu nasi admini stwierdzili, że bardziej miarodajnym benchmarkiem jest tpcc-mysql (ten jednak wymaga kilkunastu GB i trochę minut na przeprowadzenie testów:)). Ale tak czy siak pobawić się można, choćby dla sprawdzenia, czy baza danych na VPS jest dobrze skonfigurowana.

Słusznie zauważył @Artur Pajkert Hekko.pl, że wybór zależy od tego co nasza baza będzie robić, bo nie wszystkie ficzery tak naprawdę są nam potrzebne.

  • Lubię 2
  • Super! 2
Odnośnik do komentarza
Udostępnij na innych stronach

Poprzednicy właściwie wyczerpali temat, więc niewiele pozostało do napisania. Dzięki! ;) Usługa hostingowa zawiera wiele składowych, dlatego faktyczne ocenianie jej na podstawie syntetycznego testu jednej z tych składowych nie daje pełnego obrazu sytuacji. No chyba, że rzeczywiście interesują Cię tylko operacje na bazie w konkretnych warunkach. ;) Na pewno może być wskazówką, jednak jeśli masz dostęp do tych usług, bezpiecznej będzie przetestować gotową aplikację/skrypt na każdej z nich w różnych sytuacjach. Na pewno da lepszy pogląd całościowo. :)

 

Odezwij się pw, gdybyś chciał potestować jeszcze albo miał jakieś dodatkowe pytania – pomożemy, sprawdzimy, zorganizujemy. ;) 

  • Lubię 2
Odnośnik do komentarza
Udostępnij na innych stronach

19 godzin temu, Artur Pajkert Hekko.pl napisał:

Jak twórca tego narzędzia pragnę odnieść się do delikatnej sugestii @housemd i nadmienić, że Hekko nie optymalizowało skryptu "pod swoją infrastrukturę", a jego kod źródłowy jest w pełni jawnym PHP'em, każdy może pobrać i obejrzeć. Nie ma tu żadnej manipulacji, wykorzystywania "ukrytych funkcji MySql" na serwerach Hekko itp. Opowiadam o nim także na filmie na YT i opisuję, co dokładnie robi. To po prostu pętle wykonujące ileś tam powtórzeń selectów, insertów itd.

 

A poza tym i prywatnie i "służbowo" cieszę się, że korzystacie z czegoś, co tworzymy  i co udostępniamy Wam w ramach marki Hekko. Miło widzieć!

 

A możliwa jest wersja "na lenia" tak by skrypt zrobił od razu (w losowej kolejności) wszystkie 6 testów i przedstawił tabelę zbiorczą?

Odnośnik do komentarza
Udostępnij na innych stronach

Skoro jest takie zainteresowanie narzędziem, to na pewno pomysł będę rozwijał i wkrótce pojawią się kolejne wersje o coraz lepszej funkcjonalności :)
@spex, tutaj widzę tylko jedną małą sprawę, która może utrudnić to, o czym piszesz - chodzi o czas wykonania skryptu. Wiesz, różnie to jest z timeoutem dla skryptu php, może się okazać, że w niektórych środowiskach ten skrypt nie zdąży się wówczas wykonać, trzeba by pokombinować w php.ini zapewne z timeoutami. 
Ale pomyślę, pomyślę... bo pomysł też ciekawy, niby drobna zmiana, a mogłaby ułatwić życie tym, którzy lubią wiedzieć wszystko ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Brakuje wam jeszcze dodatku do narzędzi dla developerów czy po prostu "tryb zaawansowany" który jak mysqltuner podpowie w którym kierunku iść z optymalizacją :)

 

@Artur Pajkert Hekko.pl ew. set_ini lub .user.ini może zadziałać. To i tak można zrobić jako osobny pliczek + loader jakiś żeby kółko się kręciło na stronie a nie w przeglądarce :)

  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając z forum, wyrażasz zgodę na: Warunki użytkowania, Regulamin, Polityka prywatności.