Sprawdźmy zatem jak prezentują się różnice pomiędzy poszczególnymi wariantami serwerowymi. Warto przypomnieć, że każdy VPS posiada tak zwaną moc gwarantowaną, do której dostęp będziemy mieć zawsze i niezależnie od warunków. Oprócz tego, gdy fizyczna maszyna nie jest obciążona system może przełączyć się w tryb boost, w którym parametry zostają dodatkowo zwiększone.
Z tego powodu w każdym teście wykonaliśmy 3 pomiary: pierwszy około godziny 9:00 rano, drugi popołudniu o 16:00, a trzeci nocą w pobliżu północy. Otrzymane dane są wartościami uśrednionymi. Każdy test wykonywany był na świeżo zrestartowanym serwerze. Zainstalowane było na nim środowisko graficzne Gnome, jednak wszędzie tam, gdzie była taka możliwość było ono wyłączone i korzystaliśmy z konsoli SSH.
Testy rozpoczynamy od aplikacji Unix Benchmark, która jest chyba standardem jeśli chodzi o testowanie urządzeń z systemem Linux. Wykonuje ona szereg zautomatyzowanych testów uruchamianych z pliku wykonywalnego bez dodatkowych parametrów i podaje wyniki w punktach, zupełnie jak większość Windowsowych syntetyków. Poniżej znajduje się opis poszczególnych testów:
- Dhrystone 2 using register variables - wykonuje ogólny zestaw instrukcji testując operacje na liczbach stałoprzecinkowych
- Double-Precision Whetstone - tak jak powyżej, ale z wykorzystaniem liczb zmiennoprzecinkowych
- Execl Throughput - mierzy maksymalną ilość wywołań execl w ciągu sekundy
- File Copy 1024/256/4096 bufsize 2000/500/8000 - kopiowanie plików o różnych wielkościach przy różnych rozmiarach bufora
- Pipe Throughput - mierzy ile razy w ciągu sekundy serwer może zapisać i odczytać próbkę o wielkości 512 bajtów do określonego kanału komunikacyjnego
- Pipe-based Context Switching - mierzy ile razy dwa procesy mogą wymienić się inkrementowaną liczbą całkowitą poprzez określony kanał komunikacyjny w ciągu sekundy
- Process Creation - mierzy ile procesów można utworzyć i natychmiast zabić w okreśonym czasie
- Shell Scripts (1/8 concurrent) - mierzy ile skryptów shell serwer może uruchomić i zamknąć w czasie jednej minuty
- System Call Overhead - szacuje czas potrzebny na wejście i opuszczenie jądra systemu poprzez nieustanne wywoływanie funkcji pobierającej numer procesu
Unix Benchmark
[punkty] więcej = lepiej
Dhrystone 2 using register variables | 5744,0 2986,6 1498,6 |
Double-Precision Whetstone | 1257,1 628,6 313,8 |
Execl Throughput | 2073,1 1162,8 719,7 |
File Copy 1024 bufsize 2000 maxblocks | 808,4 819,2 1080,0 |
File Copy 256 bufsize 500 maxblocks | 544,3 592,3 863,7 |
File Copy 4096 bufsize 8000 maxblocks | 1464,3 1504,8 1376,9 |
Pipe Throughput | 3383,8 1766,0 878,5 |
Pipe-based Context Switching | 1727,7 899,0 452,3 |
Process Creation | 1463,2 849,8 520,2 |
Shell Scripts (1 concurrent) | 2463,6 1319,2 706,1 |
Shell Scripts (8 concurrent) | 2383,6 1269,8 689,3 |
System Call Overhead | 1186,7 1060,2 878,0 |
Wynik ogólny | 1698,1 1118,1 762,1 |
Professional Standard Basic |
Wyniki nie są chyba zaskakujące. Praktycznie w każdym teście liderem jest VPS Professional, zaraz za nim znajduje się Standard, a następnie Basic. W rezultacie ogólnym widać dość spore różnice w wydajności.
GtkPerf to okienkowa aplikacja, która wymaga uruchomienia w środowisku graficznym. Wykonuje ona automatyczny test sprawdzając takie rzeczy, jak szybkość generowania interfejsu, rysowania grafiki oraz innych operacji związanych z powłoką wizualną. Wynik to czas w sekundach potrzebny na wykonanie testu.
GtfPerf
[sek] mniej = lepiej
VPS Professional | 8,89 |
VPS Standard | 9,89 |
VPS Basic | 13,39 |
Do kolejnego testu wykorzystaliśmy niezbyt skomplikowaną aplikację Apache Benchmark, która pozwala na przetestowanie wspomnianego serwera uruchomionego na testowanej maszynie. Jego wersja to 2.2.15, wydanie interpretera PHP to 5.3.3, natomiast serwera baz MySQL 5.1.69. Nie modyfikowaliśmy go w żaden sposób, nie były uruchomione żadne moduły lub dodatki optymalizacyjne, czy też zarządzające pamięcią podręczną. Test wykonany został na maszynie lokalnej z konsoli SSH. Ilość zapytań była ustawiona na 1000, natomiast jednocześnie uruchamiane było 5. Stroną testową była strona główna świeżo zainstalowanego Wordpressa.
ab -n1000 -c5 [adres-strony-testowej]
Apache Benchmark
[ms] mniej = lepiej
VPS Professional | 91,87 |
VPS Standard | 171,56 |
VPS Basic | 341,99 |
W identycznych warunkach przeprowadzony był kolejny test, do którego wykorzystaliśmy usługę LoadImpact. Przez wybrany czas generuje ona na testowanym serwerze maksymalne obciążenie, dzięki czemu możemy sprawdzić jak zachowa się on w ekstremalnych sytuacjach. Następnie zależność czasu ładowania strony od ilości aktywnych użytkowników przestawiana jest na wykresie (niżej kolejno serwer Professional, Standard i Basic).
Test trwał 10 minut, a w tym czasie obciążenie płynnie rosło od zera do 600 aktywnych, tak zwanych wirtualnych użytkowników. Przeprowadzony był z 5 różnych serwerów ulokowanych w różnych miejscach świata: Dublin, Londyn, Chicago, Sydney oraz Tokyo. Nie należy zupełnie zwracać uwagi na czasy ładowania. Wynikają one przede wszystkim z silnego obciążenia witryny oraz odległości serwerów testujących. Oprócz tego po krótkiej konfiguracji serwera Apache można by je skrócić nawet 10-krotnie.
Analiza wyników testu może pomóc w przewidywaniu obciążenia i optymalizacji serwera. My możemy zauważyć, że im słabszy VPS, tym większe są wahania czasu ładowania w ostatnim etapie testu. Poza tym liczba aktywnych użytkowników, dla których czas ładowania strony przekracza 1 minutę dla serwerów Professional, Standard i Basic wynosi kolejno 127, 103 i 78.
Ostatni test wykonaliśmy z użyciem aplikacji HardInfo. Wyświetla ona różne interesujące informacje o komputerze, na którym została uruchomiona, takie jak rodzaj i szybkość procesora, statystyki wykorzystania pamięci RAM czy ustawienia karty sieciowej. Oprócz tego ma ona możliwość przeprowadzenia krótkich testów wydajności. Większość wyników przedstawia czas szyfrowania pewnej próbki danych z wykorzystaniem różnych technologii, który im jest krótszy tym lepszy. Wyjątkiem jest test CryptoHash, gdzie przedstawiona jest ilość danych przetworzonych w ciągu sekundy i tu rzecz jasna bardziej pożądana jest wyższa wartość.
HardInfo
CPU Blowfish [sek] mniej = lepiej | 5,17 10,48 20,59 |
CPU CryptoHash [MB/s] więcej = lepiej | 290,52 124,39 84,06 |
CPU Fibonacci [sek] mniej = lepiej | 3,07 3,17 3,46 |
CPU N-Queens [sek] mniej = lepiej | 12,37 15,53 10,42 |
FPU FFT [sek] mniej = lepiej | 2,05 4,58 9,15 |
FPU Raytracing [sek] mniej = lepiej | 16,63 16,12 17,84 |
Professional Standard Basic |
Nie jest chyba żadnym zaskoczeniem stwierdzenie, że serwer Basic okazał się najwolniejszy, najszybszy był wariant Professional, a Standard ulokował się pośrodku. Wyniki dają jednak pewne wyobrażenie tego, jakie są dokładnie różnice w wydajności między nimi i ile możemy zyskać decydując się na szybszy plan. Oprócz tego w Internecie znajduje się wiele stron, gdzie użytkownicy umieszczają wyniki wydajności serwerów innych dostawców, dzięki czemu można porównać który z nich jest najlepszy. W tym przypadku VPSy Homecloud wykazały się bardzo dobrą wydajnością za rozsądną cenę.