Назад | Перейти на главную страницу

Скорость разных дистрибутивов Linux - в чем разница?

У меня есть часть многопоточного программного обеспечения, которое работает с разной скоростью на последних серверах ubuntu, redhat Enterprise и CentOS - все они установлены на одном сервере для сравнения.

Самым медленным был сервер Ubuntu, за ним следовали CentOS, а затем - redhat Enterprise. Разница составила 10-20%.

Разницу между CentOS и Redhat можно было бы пояснить в более новой версии gcc, но, по крайней мере, в последних двух операционных системах использовалась та же версия gcc.

Что я мог видеть при запуске ubuntu, так это то, что, хотя программа использовала, скажем, 13 ядер, общий процессор, указанный "top", составлял около 1220%, в то время как в redhat (и CentOS) он составлял 1300%.

У кого-нибудь есть объяснение? Я предпочитаю работать с Ubuntu (это бесплатно), но я не могу позволить себе замедление. Я пробовал другие многопоточные тесты, которые, казалось, также указывали на то, что ubuntu несколько медленнее - на том же загруженном исполняемом файле, а не локально.

Это не окончательный ответ, просто некоторые мысли, которые слишком длинны для комментария.

  1. Попробуй с atop скорее, чем top. Он обеспечивает гораздо лучшее представление о том, что происходит. Я нахожу вывод top быть очень непоследовательным и в наши дни. У меня нет объяснения почему, но я видел то же поведение, что и у вас с несколькими ядрами.

  2. Эти установки в VMWare случайно? Я провел несколько тестов с использованием различных инструментов на 5 разных виртуальных машинах с 5 разными дистрибутивами: Ubuntu, CentOS, RHEL, SUSE и Debian. Я получил ДИХО разные результаты, которые, казалось, не коррелировали ни с чем, что я мог найти. Когда я перешел на Red Hat, я получил совет, что ядра некоторых дистрибутивов лучше оптимизированы для VMWare, чем другие. Это было несколько лет назад, так что все могло измениться.

  3. Можете ли вы лучше описать внутренний тест, который вы используете в своем приложении? Этот вопрос может легко оказаться между serverfault и stackoverflow ...