За последний год у меня было 2 новых сервера, которые я ввел в эксплуатацию, и их производительность сделала их непригодными для использования. Оба сервера были серверами Dell R620 с 1 процессором. У одного было 6 ядер, у другого 8. У одного были SLES 11SP3 и Oracle, а у другого - Windows 2008 R2.
Сервер Windows работал медленно с того момента, как я установил ОС. Я был абсолютно шокирован тем, как медленно он выполнялся для всего, от загрузки до использования приложений, но без каких-либо явных симптомов в счетчиках производительности для ЦП, диска, памяти и всего остального. Я не могу количественно оценить медлительность, но я бы описал ее так, как если бы я установил ОС на машину 10 лет назад или старше. Я наконец исправил это, повозившись с настройками BIOS и отключив Hyperthreading. Как только я выключил, сервер взлетел. Я бы оценил увеличение производительности в 10 раз.
Сервер Linux был еще более странным. С его помощью сервер изначально работал очень хорошо в течение 3-4 недель. Затем, однажды вечером, без какого-либо явного триггера, загрузка ЦП внезапно упала с плоского уровня примерно на 4% до сумасшедших 20-60%. Повсюду. В то же время время соединения Oracle увеличилось со 100 мс до 500 мс. Общая производительность Oracle была настолько плохой, что это повлияло на наши производственные процессы, и мы не сильно нагружали базу данных. Администратор базы данных и я потратили более 12 часов и ничего не смогли найти, чтобы объяснить проблему. Я посмотрел на систему, используя top и системный монитор Gnome, и следы процессора были полностью хаотичными вверх и вниз от 0 до 100%. Мы перезагружались несколько раз, и время загрузки было, вероятно, в 2-3 раза нормальным. Проблема была окончательно решена, когда я в отчаянии отключил HT в BIOS. Магия. Все было исправлено.
Мой вопрос: испытывали ли это другие люди? Я немного погуглил, и люди говорят об относительно небольшом влиянии на производительность, хорошем и плохом, но не о том, что я видел. Теперь я полностью боюсь HT и по умолчанию отключил его в новых сборках. Есть ли что-то еще, чего я не понимаю, что могло вызвать это?
Может быть, это действительно неисправное оборудование?
EDIT: как показано ниже, это может быть проблема профиля мощности. Проблема возникла снова сегодня, даже с отключенным HT. Я зашел в настройки BIOS и нашел настройки энергосбережения в разделе «Системные профили». По умолчанию было установлено «Производительность на ватт». Я переключился на «Производительность», и проблема снова исчезла. Трудно подтвердить, что это окончательное исправление, одна только перезагрузка могла разрушить проблему, но я чувствую себя хорошо, так как это все. Я снова свяжусь с вами через некоторое время.
РЕДАКТИРОВАТЬ2: ПОДТВЕРЖДЕНИЕ. Я видел эту проблему еще как минимум два раза, но на двух других серверах. Во всех случаях это было исправлено изменением «Профиля системы» на «Производительность». Я не видел, чтобы эта проблема повторялась ни на одном сервере после внесения изменений.
На последних серверах DELL я обнаружил, что логика энергосбережения на основе BIOS довольно плохая (если не просто сломанная). Попробуйте отключить его, настроив сервер на максимальную производительность и оставив энергосбережение под контролем ОС, а не BIOS.
Затем попробуйте снова включить гиперпоточность.