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

3 rzeczy, których nie wiesz o briefie sklepu internetowego

Przez kilkanaście lat na biurku miałem przynajmniej kilkaset briefów przedwdrożeniowych. Jedne były lepsze, drugie gorsze, trzecie zrobione za karę. I jak myślę o tym, że przecież wdrożenie e-Commerce to projekt strategiczny, to trochę się nawet dziwię. W tym filmie opowiem Ci o trzech rzeczach, które są konsekwencją dobrze przygotowanego briefu. Dowiesz się: ✅ dlaczego brief to wspólna mapa drogowa dla całej organizacji, ✅ jak wpływa na realność wycen i budżetu projektu, ✅ w jaki sposób chroni Cię przed chaosem i niepotrzebnymi zmianami w trakcie wdrożenia. Jeżeli myślisz o nowym sklepie internetowym albo planujesz redesign, to nagranie pozwoli Ci uniknąć kosztownych pułapek i podejść do projektu strategicznie.

Czytaj więcej
Funkcje ecommerce b2b

System B2B – 8 przydatnych funkcjonalności

Przenoszenie sprzedaży B2B do Internetu to trend, który obserwujemy już od dobrych kilku lat. To, co zmieniło się w ostatnim czasie, to forma, w jakiej realizowana jest sprzedaż w tym kanale. Mówiąc krótko, rynek dojrzewa. Dostawcy systemów B2B robią co mogą, by ułatwić życie kupującym, a tym samym osiągać przewagę konkurencyjną. Tylko co tak naprawdę […]

Czytaj więcej
Zmiana silnika e-Commerce

Kiedy Twój e-Commerce mówi Ci, że najwyższa pora na zmianę platformy

E-Commerce to nie zardzewiała drezyna z XIX wieku, a raczej francuskie TGV, które pędzi do przodu z zawrotną prędkością. Jest to jedna z najbardziej dynamicznych branż na świecie. I chociaż wydawałoby się, że ten rynek jest już u szczytu swoich możliwości i już nic więcej nie da się na nim ugrać, wciąż jednak pojawiają się […]

Czytaj więcej
Agencje Prestashop w Polsce

Agencje PrestaShop w Polsce 2026

Lista jest aktualizowana na bieżąco. Agencje wdrażające PrestaShop zostały pogrupowane województwami. Dolnośląskie Satisfly – agencja e-Commerce z Wrocławia, która realizuje również wdrożenia PrestaShop. Wśród klientów znalazła się m.in. firma Laboratorium Pani Domu. Sellision – firma z Wrocławia. Dwugwiazdkowy PrestaShop Expert, w portfolio między innymi Yanto, Mondex i Toolbox. Małopolskie Just Idea – agencja marketingowa i […]

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
Expert Consultation

Darmowa konsultacja