Ostatnia aktualizacja:

3 września 2025

Opublikowano:

21 grudnia 2016

Testowanie wydajności – jak sprawdzić szybkość serwera?

Testowanie wydajności – jak sprawdzić szybkość serwera?

Chcielibyście porównać dwa serwery oferowane przez firmę hostingową? Albo porównać serweryTestowanie wydajności serwera oferowane przez różnych usługodawców? A może chcecie porównać wydajność serwera przed i po modyfikacji hardware’u? Przedstawię kilka podstawowych komend, które pomogą w benchmarku procesora i wydajności dysków twardych.

W tym artykule dowiesz się:
  1. Test serwera – przygotowania
  2. Testowanie wydajności CPU
  3. Operacje I/O – wydajność serwera
  4. Wydajność serwera – podsumowanie

Test serwera – przygotowania

Cała procedura jest wykonywana na dystrybucji Debian. Będziemy korzystać z polecenia sysbench. Instalujemy narzędzie za pomocą polecenia:

apt-get install sysbench

Testowanie wydajności CPU

Zacznijmy od testowania wydajności naszego procesora. Najprostszy test wykonujemy przy pomocy polecenia:

sysbench --test=cpu --cpu-max-prime=20000 run

Polecenie testuje wydajność procesora generując liczby pierwsze. W moim przykładzie test zakończy się na liczbie 20000. Przykładowy output:

sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000

Test execution summary:
total time: 22.2210s
total number of events: 10000
total time taken by event execution: 22.2202
per-request statistics:
min: 2.16ms
avg: 2.22ms
max: 7.11ms
approx. 95 percentile: 2.28ms

Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 22.2202/0.00

Najważniejszą informacją jest total time, czyli czas potrzebny do zakończenia całej operacji. W naszym przykładzie operacja trwała ponad 22 sekundy. To czas, który potrzebował jeden rdzeń, żeby obsłużyć żądania generowania liczby pierwszej.

Dodatkowo możemy podać parametr --num-threads i obserwować zmiany w zależności od ilości rdzeni zaangażowanych w generowanie liczb pierwszych. Dla tego samego serwera 2 wątki wykonały ten sam test w o połowę krótszym czasie.

sysbench --test=cpu --cpu-max-prime=20000 --num-threads=2 run

output:

...
Number of threads: 2

...
Maximum prime number checked in CPU test: 20000

Test execution summary:
total time: 11.4880s
total number of events: 10000
total time taken by event execution: 22.9724
per-request statistics:
min: 2.25ms
avg: 2.30ms
max: 7.86ms
approx. 95 percentile: 2.29ms

Operacje I/O – wydajność serwera

Od dłuższego czasu najwęższym gardłem wydajności komputerów jest dysk twardy. Pomimo zaawansowanych macierzy dyskowym serwery także cierpią z tego powodu. Dyski SSD potrafią przyśpieszyć znacząco szybkość działania aplikacji działających na serwerze w stosunku do dysków talerzowych. Przyjrzyjmy się jednak temu, jak zbadać wydajność naszego dysku twardego.

Musimy zacząć od przygotowania danych testowych. Wykonujemy polecenie:

sysbench --test=fileio --file-total-size=1G prepare

W ten sposób będziemy testować nasz dysk twardy na danych wielkości 1GB. Do prawdziwych testów zalecam użyć znacznie większego pliku (>50GB) żeby na pewno testować odczyty dyskowe, a nie cache.

Następnie możemy przystąpić do właściwych testów. Wykonujemy polecenie:

sysbench --test=fileio --file-total-size=1G --file-test-mode=rndrw --init-rng=on --max-time=30 --max-requests=0 run

Oczywiście 1GB odpowiada przygotowanemu wcześniej zestawowi danych. Ten test będzie trwał 30 sek. Ten parametr także zalecam znacząco zwiększyć podczas prawdziwych testów (minimum 10 min). Przykładowy output:

sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1
Initializing random number generator from timer.
Extra file open flags: 0
128 files, 8Mb each
1Gb total file size
Block size 16Kb
Number of random requests for random IO: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Threads started!
Time limit exceeded, exiting...
Done.

Operations performed: 2160 Read, 1440 Write, 4551 Other = 8151 Total
Read 33.75Mb Written 22.5Mb Total transferred 56.25Mb (1.875Mb/sec)
120.00 Requests/sec executed

Test execution summary:
total time: 30.0002s
total number of events: 3600
total time taken by event execution: 13.5311
per-request statistics:
min: 0.01ms
avg: 3.76ms
max: 65.88ms
approx. 95 percentile: 9.66ms

Threads fairness:
events (avg/stddev): 3600.0000/0.00
execution time (avg/stddev): 13.5311/0.00

Oprócz informacji o próbce danych (u nas 128 plików po 8 Mb) znajdziemy podsumowanie danych, jakie zostały w czasie testu odczytane i zapisane na dysku. Standardowo `sysbench będzie próbował odczytywać średnio 1.5 raza częściej niż zapisywać. Widzimy też ile trwały pojedyncze zdarzenia. 95% operacji wykonało się w czasie poniżej 10ms. Były jednak także operacje powyżej 60ms.

Po wykonanych testach powinniśmy wyczyścić dane testowe przy pomocy:

sysbench --test=fileio --file-total-size=1G cleanup

Wydajność serwera – podsumowanie

Dzięki narzędziu sysbench możesz w łatwy sposób porównać wydajność swojego serwera przed i po modyfikacji hardware’u lub porównać między sobą serwery różnych dostawców.

Ostatnia aktualizacja:

3 września 2025

Opublikowano:

21 grudnia 2016

W tym artykule dowiesz się:
  1. Test serwera – przygotowania
  2. Testowanie wydajności CPU
  3. Operacje I/O – wydajność serwera
  4. Wydajność serwera – podsumowanie

Polecane artykuły

AI w e-Commerce to rewolucja czy ściema? – Marcin Smereka

Czy AI naprawdę rewolucjonizuje e-Commerce, czy po prostu robimy dziś to samo - tylko z modną nazwą? W tym odcinku Sztuki E-Commerce razem z Marcinem Smereką rozkładamy temat sztucznej inteligencji na czynniki pierwsze - bez marketingowych sloganów, za to z konkretnymi przykładami z firm handlowych i e-Commerce’owych. Rozmawiamy m.in. o tym: ➡️ gdzie AI faktycznie pomaga e-Commerce’om (a gdzie to tylko hype), ➡️ jak nauczyć systemy rozmawiać z nami, a nie zmuszać ludzi do klikania, ➡️ jak bezpiecznie wdrażać AI w firmie, nie tracąc kontroli nad danymi, ➡️ dlaczego AI nie zabierze pracy - tylko nudne zadania, ➡️ oraz o tym, dlaczego Marcin uważa, że AI stanie się jak prąd - bez niego biznes nie ruszy.To rozmowa o realnych zastosowaniach, a nie o modzie. Jeśli prowadzisz sklep internetowy, odpowiadasz za sprzedaż B2B lub po prostu chcesz zrozumieć, jak AI naprawdę zmienia codzienność firm - ten odcinek jest dla Ciebie.

Czytaj więcej
e-commerce b2b easy

E-Commerce B2B – to nie musi być nic trudnego

Wokół wdrożeń sklepów internetowych B2B powstało sporo mitów. Jednym z nich jest teoria, że stworzenie takiego e-Commerce to zawsze czasochłonny i kosztowny proces. A sama platforma sprzedażowa musi być super zaawansowanym systemem z milionem tabelek, odjechanych funkcjonalności i zróżnicowanych dostępów. Nie zawsze jednak tak jest. Czasami e-Commerce B2B to po prostu platforma, która umożliwia Twoim […]

Czytaj więcej
Jak zwiększyć szybkość wordpress

Jak zwiększyć szybkość strony WordPress?

WordPress jako jeden z najbardziej popularnych CMS-ów do budowania serwisów internetowych. Zyskał popularność dzięki prostemu i przejrzystemu interfejsowi oraz temu, że jest darmowy. Dużym atutem tej platformy jest fakt, że ciągle jest rozwijana oraz posiada bardzo dużo ciekawych dodatków, pluginów czy szablonów. Dobrze jest już na samym początku budowania strony czy bloga zadbać o jego […]

Czytaj więcej
Jak zmienić platformę e-Commerce i nie stracić przy tym pieniędzy? - Banner

Jak zmienić platformę e-Commerce i nie stracić przy tym pieniędzy?

Migracja sklepu internetowego z jednego silnika na drugi wydaje się prosta. W końcu raz już wdrażałeś swój e-Commerce. Zrobienie tego drugi raz nie powinno być więc trudne. Ta sprawa nie jest jednak taka łatwa. Ze zmianą platformy e-Commerce wiąże się duże ryzyko finansowe. I nie mamy tu na myśli nieudanego wdrożenia, czy wyboru złego silnika […]

Czytaj więcej

Skontaktuj się z nami

Opowiedz nam o swoich ambicjach związanych z e-commerce i pozwól nam wspólnie je zrealizować.

Skontaktuj się z nami