Задать вопрос
@grunev

На каком виртуальном сервере процессор мощнее?

Нужен виртуальный сервер с максимально мощным процессором. Для тестирования у одного хостера арендовалось одно виртуальное ядро Intel Core i9-12900K - всего у этого процессора 16 ядер и 24 threads.
Еще есть второй виртуальный сервер тоже одноядерный, но lscpu не показывает модель процессора, а пишет:
Model name: Common KVM processor

Хотелось бы понять, как вообще сравнить производительность этих процессоров и сколько там реально гигагерц.
Где-то вроде было, что показатели Bogomips важны. У первого это 6374.40, а на втором 5871.16

Еще есть результаты команды sysbench --test=cpu --cpu-max-prime=20000 run, но что здесь смотреть не знаю

На первом сервере:
CPU speed:
    events per second:  1450.90

General statistics:
    total time:                          10.0002s
    total number of events:              14511

Latency (ms):
         min:                                    0.61
         avg:                                    0.69
         max:                                    3.13
         95th percentile:                        0.77
         sum:                                 9973.73

Threads fairness:
    events (avg/stddev):           14511.0000/0.00
    execution time (avg/stddev):   9.9737/0.00


На втором сервере:
CPU speed:
    events per second:   431.12

General statistics:
    total time:                          10.0002s
    total number of events:              4312

Latency (ms):
         min:                                    2.17
         avg:                                    2.32
         max:                                    3.99
         95th percentile:                        2.57
         sum:                                 9992.37

Threads fairness:
    events (avg/stddev):           4312.0000/0.00
    execution time (avg/stddev):   9.9924/0.00


Помогите пожалуйста разобраться где и на сколько будет помощнее. Вроде первый вариант по цифрам впереди, но цена в х1.5 дороже, стоит ли это того?
  • Вопрос задан
  • 254 просмотра
Подписаться 1 Простой 6 комментариев
Пригласить эксперта
Ответы на вопрос 3
Sanes
@Sanes
Только тесты на реальных задачах. При чем в разное время. Никаких гарантий, что завтра будет так же.
Ответ написан
Комментировать
@rPman
Во первых, виртуальные серверы не подходят для числодробилок (исключение - использование GPU или других сопроцессоров типа FPGA, там обычно они делятся по честному), потому что физический сервер будет разделен между несколькими пользователями, и даже если ты наберешь тарифным планом максимальное количество процессоров/ядер, часть ресурсов (для серверных - 3-5%, а для десктопных железок до 10-30% в очень специфических случаях) будут тратиться на обслуживание виртуализации.

Правильное (а это возможно только при монопольном доступе) использование кеша процессора, если повезет, может поднять на порядок скорость вычислений. Например ты оптимизировал свой код под конкретный процессор и конкретный размер кеша (или просто повезло и с твоими данными они удачно в кеш помещаются), запускаешь его у провайдера, и он даже будет работать как ожидается быстро (особенно это будет красиво, когда тебе провайдер даст доступ тесты погонять), но потом, в случайный момент времени, когда рядом с тобой на физическом железе появится другой клиент провайдера, скорость работы у тебя упадет кратно... и ты этим не сможешь управлять.

Во вторых, провайдеры виртуализации очень любят оверселинг (продажу ресурсов больше чем у них реально имеется, в надежде что большинство клиентов на постоянной основе не будут их полностью использовать, что часто бывает), что так же негативно сказывается на итоговую производительность, в случайный момент времени, когда у большинства клиентов провайдера, поднимется нагрузка, скорость у всех резко и значительно падает.

Поэтому правильный ответ - процессор мощнее на физическом железе (bare metall) без виртуализации. При необходимости, для своих нужд, ты сможешь на нем запустить систему виртуализации (или лучше паравиртуализации).

p.s. тебе верно советуют, не смотреть на гигагерцы.
Все очень зависит от того как и какая задача запускается. Оптимизация кода, выбор архитиктуры (например 32-битная на 64-битной будет работать по другому, где то хуже где то лучше), глобальные параметры (размеры буферов пакетной обработки, количество запущенных воркеров/потоков, настройки кеширования и тюнинг файловой системы ос или выбор конфигурации хранилища,..). Это вопрос исследования, и только эксперименты могут дать какой то адекватный ответ. Еще раз - тестируй на реальном железе.
Ответ написан
Комментировать
@Andr_ew
никакой виртуальный вам не даст мощных процессоров, там все разделено между тысячами клиентов.
Если берете виртуальный то хотя бы ищите какие нибудь HICPU планы, пример. А тестировать уже на реальном случае будете
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы