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

Две идентичные системы с очень разными характеристиками

У меня есть две системы Dell R730 с идентичной аппаратной конфигурацией, приобретенные одновременно. Оба работают под управлением RHEL6.9, образы которых были созданы из одного и того же образа. Это было снято в январе. Я обновляю пакеты из репозитория один раз в месяц, поэтому в целом все в системе должно быть «почти» идентичным. (т.е. любое программное обеспечение или настройки, которые я изменяю в одной системе, будут изменены в другой, но поскольку это ручной процесс, может быть что-то упущено)

Я заметил, что производительность одной системы в 2,5 раза ниже, чем в другой. Задания, которые я тестирую, требуют интенсивной работы однопоточного процессора. Чтение некоторых файлов данных, но очень низкая загрузка диска io согласно iostat. Вверху показано, что процесс постоянно привязан к 100%, но в системе 88 потоков, а средняя загрузка составляет всего около 1. Очень низкое использование памяти. Нет использования сети. (Все файлы, которые он использует, являются локальными). Один представляет собой сложный скрипт на Python, другой - проприетарную программу, оба работают намного медленнее в одной системе по сравнению с другой.

/ proc / cpuinfo идентичен. Настройки BIOS идентичны. Только один пользователь в системе. Чем быстрее система подключена к Интернету, тем медленнее находится в автономной сети.

В своих исследованиях я обнаружил только два отличия. 1. Более быстрая система работает с версией BIOS 2.25, более медленная система работает с BIOS версии 2.43 2. На более медленной системе работает auditd. Однако во время процесса в журнале аудита нет активности.

Я понимаю, что это сложно отладить, но у меня не хватает идей, что искать. Есть ли какие-нибудь встроенные программные инструменты, которые я могу использовать, чтобы лучше понять, что может происходить?

Мои сегодняшние рекомендации относительно систем EL6 на корпоративном оборудовании следующие:

  • Установите серверы Dell в режим «OS Control» для питания, а не в режим «High Performance» или «Dynamic». Это позволит вашим однопоточным процессам немного лучше использовать Turbo Boost и даст регулятору процессора ОС право управления.
  • Есть ли причина, по которой вы не можете довести прошивку до той же версии?
  • Для EL6 вы должны установить настроенный-adm профиль к enterprise-storage или latency-performance.
  • Если ваша более медленная система не подключена к Интернету, проверьте DNS и свой / etc / hosts определение файла чтобы убедиться, что вас не тормозят какие-либо проблемы с разрешением.
  • Изучите и сравните настройки /etc/sysctl.conf в разных системах.
  • Ты можешь бегать sosreport чтобы попытаться получить сводку конфигураций обеих систем.

Конечно, вы также можете профилировать процессы ... top, perf top, pidstat, strace.

Или посмотрите серверы в реальном времени с помощью Netdata и коррелируйте все системные метрики, чтобы увидеть, где существуют узкие места.

Я также делаю следующее в /etc/profile.d/tzfix.sh по уважительной причине:

# Set TZ variable to reduce stat("/etc/localtime" activity
# See: https://blog.packagecloud.io/eng/2017/02/21/set-environment-variable-save-thousands-of-system-calls/
#
export TZ=:/etc/localtime

Просто несколько идей для начала.

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