Benchmarking procesora oznacza uruchomienie standardowego testu, który mierzy, jak szybko procesor wykonuje określone obciążenie. Dzięki temu możesz obiektywnie porównywać procesory, zamiast zgadywać na podstawie częstotliwości taktowania i liczby rdzeni. W przypadku serwerów benchmarking odpowiada na praktyczne pytanie: czy ten procesor poradzi sobie z moim obciążeniem i jak wypada w porównaniu do tego, co mam teraz? Dwa procesory o tej samej liczbie rdzeni i częstotliwości mogą działać zupełnie inaczej, gdy faktycznie je przetestujesz.
Dlaczego benchmarking CPU ma znaczenie dla serwerów
Częstotliwość taktowania i liczba rdzeni to tylko część historii. Architektura, rozmiar pamięci podręcznej, przepustowość pamięci i liczba instrukcji na cykl — wszystko to wpływa na rzeczywistą wydajność. Benchmark uruchamia to samo obciążenie na każdym procesorze i daje porównywalny wynik. Pozwala to odpowiednio dobrać serwer — płacić tylko za rdzenie, które faktycznie będą używane — i sprawdzić, czy upgrade daje oczekiwany wzrost wydajności.
Wydajność jedno- vs wielordzeniowa
Benchmarki podają dwa wskaźniki, które mają znaczenie dla różnych obciążeń. Wynik jednordzeniowy pokazuje szybkość jednego rdzenia — kluczowy dla zadań działających w jednym wątku, takich jak wiele serwerów gier, niektóre bazy danych i obsługa żądań PHP. Wynik wielordzeniowy odzwierciedla całkowitą przepustowość wszystkich rdzeni — krytyczny dla równoległych obciążeń, takich jak kodowanie wideo, kompilacja i intensywna wirtualizacja. Dopasuj wynik do swojego obciążenia: szybki procesor jednordzeniowy pokonuje wielordzeniowy w zadaniach jednowątkowych i odwrotnie.
Popularne narzędzia do benchmarkingu CPU
Jak szybko przetestować CPU za pomocą sysbench
Na serwerze Linux sysbench daje szybki i powtarzalny wynik CPU. Zainstaluj i uruchom:
# Debian/Ubuntu: sudo apt install sysbench -y # RHEL/AlmaLinux/Rocky: sudo dnf install sysbench -y # uruchomienie testu CPU: sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run
Kluczowy wynik to „events per second” (zdarzenia na sekundę) — im wyższy, tym lepiej. Uruchom to samo polecenie na dwóch serwerach, aby porównać je bezpośrednio. Użyj –threads=1, aby zmierzyć wydajność jednordzeniową, lub $(nproc), aby wykorzystać wszystkie rdzenie i uzyskać wynik wielordzeniowy.
Jak interpretować wyniki
Benchmarki mają sens tylko w porównaniu. Sam wynik ma niewielkie znaczenie; ten sam test na obecnym serwerze i na serwerze-kandydacie pokazuje rzeczywistą różnicę. Uruchamiaj każdy test kilka razy i bierz średnią. Upewnij się, że serwer jest poza tym bezczynny, aby obciążenie w tle nie zaburzało wyników.