Бенчмаркінг процесора — це запуск стандартизованого тесту, який вимірює, наскільки швидко процесор виконує визначене навантаження. Це дозволяє об’єктивно порівнювати CPU, а не здогадуватися за тактовою частотою та кількістю ядер. Для серверів бенчмаркінг відповідає на практичне питання: чи впорається цей процесор із моїм навантаженням і наскільки він кращий за той, що є зараз? Два процесори з однаковою кількістю ядер і частотою можуть працювати дуже по-різному, коли їх реально тестують.
Чому бенчмаркінг CPU важливий для серверів
Тактова частота та кількість ядер розповідають лише частину історії. Архітектура, розмір кешу, пропускна здатність пам’яті та кількість інструкцій за такт — усе це впливає на реальну продуктивність. Бенчмарк запускає одне й те саме навантаження на кожному процесорі та видає порівнянний результат. Це дозволяє правильно підібрати сервер — платити лише за ті ядра, які реально будуть використовуватися — і перевірити, що апгрейд дає очікуваний приріст.
Одноядерна vs багатоядерна продуктивність
Бенчмарки видають два показники, які важливі для різних завдань. Одноядерний результат показує швидкість одного ядра — критично для завдань, що працюють в одному потоці: багато ігрових серверів, деякі бази даних і обробка PHP-запитів. Багатоядерний результат відображає загальну пропускну здатність усіх ядер — важливий для паралельних навантажень: кодування відео, компіляція, важка віртуалізація. Підбирайте показник під своє навантаження: швидкий одноядерний процесор кращий за багатоядерний для однопотокових завдань, і навпаки.
Популярні інструменти для бенчмаркінгу CPU
Як швидко протестувати CPU за допомогою sysbench
На Linux-сервері sysbench дає швидкий і повторюваний результат по CPU. Встановіть і запустіть:
# Debian/Ubuntu: sudo apt install sysbench -y # RHEL/AlmaLinux/Rocky: sudo dnf install sysbench -y # запуск тесту CPU: sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run
Головний показник — «events per second» (подій за секунду): чим вище, тим краще. Запустіть одну й ту саму команду на двох серверах, щоб порівняти їх безпосередньо. Використовуйте –threads=1 для вимірювання одноядерної продуктивності або $(nproc), щоб задіяти всі ядра і отримати багатоядерний результат.
Як інтерпретувати результати
Бенчмарки мають сенс лише в порівнянні. Оцінка сама по собі мало що говорить; один і той самий тест на поточному сервері та на кандидаті показує реальну різницю. Запускайте кожен тест кілька разів і беріть середнє значення. Переконайтеся, що сервер в іншому простоює, щоб фонове навантаження не спотворювало результати.