W końcu postanowiłem (znalazłem chwile czasu ;-)) rozpakować 2 sztuki Raspberry Pi 3, które leżą od kilku(nastu) dni na moim biurku (niebawem będzie na ten temat coś więcej), więc jako użytkownik poprzednich wersji Maliny – zacząłem od własnych testów, by sprawdzić jak w praktyce wygląda wzrost wydajności, głównie ze względu na nowy procesor.
Wprawdzie pierwszym testem było uruchomienie przeglądarki internetowej i arkusza kalkulacyjnego, to z racji tego, że odczucia/wrażenia są kiepskim elementem/wyznacznikiem do przedstawienia na wykresach, sięgnąłem po jeden z programów, z którego czasem korzystam – głównie do szybkiej analizy porównawczej VPSów…
Spis treści w artykule
SysBench – multi-threaded system evaluation benchmark
Tym programem jest SysBench, prosta – w obsłudze – aplikacja, za pomocą której szybko przetestujemy podstawowe parametry komputera/serwera:
- Procesor (CPU)
- Pamięć RAM
- System plików (transfer I/O)
- Bazę danych (OLTP)
Program wystarczy zainstalować – zero konfiguracji. W systemie Debian (Ubuntu, Raspbian) zrobicie to za pomocą polecenia:
sudo apt-get install sysbench
Po tej operacji (instalacji) można przystąpić do testów – wszystko definiujemy w parametrach z jakimi uruchomimy test, wg wzorca:
sysbench [common-options] --test=name [test-options] command
W standardzie do wyboru mamy do naszej dyspozycji kilka testów:
- fileio – File I/O test
- cpu – CPU performance test
- memory – Memory functions speed test
- threads – Threads subsystem performance test
- mutex – Mutex performance test
- oltp – OLTP test
Więcej informacji w podręczniku obsługi:
man sysbench
Lub w podręcznej pomocy, np. dla testu wydajności procesora (CPU) będzie to:
sysbench --test=cpu help
Na koniec jeszcze kilka przykładowych testów (poleceń) – wykonanych na Raspberry Pi 1 model B:
Procesor (operacje na liczbach całkowitych)
Na początek test wydajności procesora, który polega na sprawdzeniu, czy liczby z podanego zakresu (cpu-max-prime) są liczbami pierwszymi:
sysbench --test=cpu --cpu-max-prime=2500 --num-threads=1 run
I przykładowy wynik:
Maximum prime number checked in CPU test: 2500
Test execution summary:
total time: 65.1973s
total number of events: 10000
total time taken by event execution: 65.1564
per-request statistics:
min: 6.37ms
avg: 6.52ms
max: 14.65ms
approx. 95 percentile: 6.90ms
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 65.1564/0.00
To samo, ale dla 4 rdzeni (4 wątki na raz):
sysbench --test=cpu --cpu-max-prime=2500 --num-threads=4 run
Podobny test, choć z większa koncentracją na wątkach (podsystem):
sysbench --test=threads --num-threads=1 --max-time=30s run
I ponownie – przykładowy wynik testu:
Doing thread subsystem performance test
Thread yields per test: 1000 Locks used: 8
Threads started!
Done.
Test execution summary:
total time: 26.1756s
total number of events: 10000
total time taken by event execution: 26.1316
per-request statistics:
min: 2.43ms
avg: 2.61ms
max: 11.97ms
approx. 95 percentile: 2.71ms
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 26.1316/0.00
Pamięć RAM
W podobny sposób przestukajmy wydajność pamięci RAM:
sysbench --test=memory --memory-block-size=5M --memory-total-size=50G run
Co w przypadku testowego komputera (Raspberry Pi Model B) wygląda tak:
Operations performed: 410 ( 66.03 ops/sec)
2050.00 MB transferred (330.13 MB/sec)
Test execution summary:
total time: 6.2097s
total number of events: 410
total time taken by event execution: 6.2027
per-request statistics:
min: 14.87ms
avg: 15.13ms
max: 18.41ms
approx. 95 percentile: 15.66ms
Threads fairness:
events (avg/stddev): 410.0000/0.00
execution time (avg/stddev): 6.2027/0.00
Dysk (wydajność I/O)
Na koniec przykładów test wydajności na systemie plików – w naszym przypadku karta pamięci.
Zaczynamy od przygotowania plików do testów:
sysbench --test=fileio --file-total-size=2G prepare
Powyższe polecenie utworzy nam w katalogu w którym się znajdujemy 128 plików, które łącznie będą zajmowały 2 GB (test_file.0 – test_file.128), a które posłużą nam do przeprowadzenia testu:
sysbench --test=fileio --file-total-size=2G --file-test-mode=rndrw --max-time=30 --max-requests=1000 run
W wyniku działania tego polecenia/testu otrzymacie wynik tego typu:
Operations performed: 600 Read, 400 Write, 1280 Other = 2280 Total
Read 9.375Mb Written 6.25Mb Total transferred 15.625Mb (762.24Kb/sec)
47.64 Requests/sec executed
Test execution summary:
total time: 20.9908s
total number of events: 1000
total time taken by event execution: 0.1211
per-request statistics:
min: 0.07ms
avg: 0.12ms
max: 0.80ms
approx. 95 percentile: 0.18ms
Threads fairness:
events (avg/stddev): 1000.0000/0.00
execution time (avg/stddev): 0.1211/0.00
Na koniec tego testu warto jeszcze posprzątać utworzone na potrzeby testu pliki:
sysbench --test=fileio cleanup
To nie wszystko
Oczywiście to nie wszystkie testy (i warianty), ale nie to było moim celem – chciałem Wam tylko zasygnalizować istnienie tego programu.
Zastanawiałem się jeszcze nad dodaniem do przykładów testu MySQL (baza danych), ale system wykorzystywany do testów na Raspberry Pi (Raspbian) jest właściwie „prosto z pudełka” (ISO), tzn. bez żadnych modyfikacji, czy dodatkowych programów – oczywiście poza programami zainstalowanymi na potrzeby testów, i aktualizacjami.
Dlatego na razie tylko sygnalizuje, że jest również możliwość wykonania takiego testu, a może za jakiś czas uzupełnię wpis o ten test…
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01
dno i wodorosty !!!! mamy 2022 rok a wy marzycie by ktos uzywal waszego klepanego programiku.
macie fajny program? to teraz zrobcie doniego nakladke graficzna.
Drogi Tomaszu, raz, że to nie nasz programik. Dwa – jeśli konsola Cię przerasta, to może nie jest to temat dla Ciebie. Trzy – nakładkę graficzną pewnie taki specjalista jak Ty, to sam jest w stanie zrobić sobie. Cztery – pewnie ten program jest bardziej potrzeby Tobie, niż Ty jemu. Miłego dnia.