Почему одинаковое число ядер даёт разную мощность
Две реплики сервиса получили одинаковый лимит CPU. На новом сервере запас есть, на старом процессор перегружен. Для системы с лидером это особенно неприятно: после смены лидера нагрузка переезжает на более медленное железо.
В разборе Uber описаны нормализованные вычислительные единицы Odin. Потребление CPU умножают на коэффициент производительности сервера, рассчитывают потребность кластера, затем переводят её обратно в ядра для конкретного хоста.
Коэффициенты пришлось уточнять по реальной нагрузке: синтетических тестов оказалось недостаточно, а Kafka и Cassandra по-разному используют одни и те же серверы.
Для Kafka такой подход сократил выделенное число ядер примерно на 8%. Это результат конкретного внедрения. При переносе сервиса между поколениями CPU стоит сравнивать время выполнения и запас под пиковую нагрузку, а не только число ядер.
#инфраструктура #производительность
Post #3081
133
