Вчера я обнаружил, что среднее время запросов на реакторе выросло с 400мс до 800-1000мс. / админские истории :: продолжение в комментах :: cpu speed :: hetzner :: разное

админские истории hetzner cpu speed продолжение в комментах 
Вчера я обнаружил, что среднее время запросов на реакторе выросло с 400мс до 800-1000мс.

Первое, что подумал - наверное проблемы с сетью на фронтэнде. Но на американском фронтэнде время запросов так же синхронно выросло. Маловероятно, что проблемы возникнут одновременно на обоих серверах.

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

И тут я ещё обнаружил, что сразу после обновления сайта время загрузки страниц резко падает до 400мс, а потом постепенно возрастает до старых значений. См график
админские истории,разное,hetzner,cpu speed,продолжение в комментах
Подробнее

админские истории,разное,hetzner,cpu speed,продолжение в комментах
Еще на тему
Развернуть

Отличный комментарий!

дальнейшее расследование показало, что с некоторого времени, hetzner на все сервера ставит програмку cpuspeed. Она регулирует скорость процессора. Если процессор не сильно нагружен, то уменьшает его частоту, чтобы уменьшить энергопотребление.

Понятно, что для их макретологов это замечательно! Ничего не делаем, а энергопотребление уменьшается за 10%! Фигня, что сайты отвечают в 2-3 раза медленее - кто это заметит?

В общем, сносим её к чертям.

/etc/init.d/cpuspeed stop
yum erase -y cpuspeed

И скорость ответа реактора снова опускается до 400мс. Теперь уже постоянно.

Если в в недавнем времени заказывали сервера у hetnzer - посмотрите, не стоит ли у вас тоже cpuspeed =)
koka koka08.01.201420:11ссылка
+34.7
Это показалось пиздец каким странным.

Следующая идея - может php-fpm имеет какой-нибудь memory leak? Была отброшена, так как после определённого значения всё работало хорошо. Да и на серверах были свободные память и диски.

Может упирается в лимит подключений куда-нибудь? mysql, sphinx, redis, memcached - на всех лимит подключений не достигался. Да и он должен был в логи писать, если достигнет.

И так. Сидя перед экраном atop и медитируя, почему эта сволочь медленно отвечает на запросы, я обнаружил в правом верхнем углу (куда я обычно не смотрю) какую-то странную информацию...
koka koka 08.01.201420:06 ответить ссылка 15.4
дальнейшее расследование показало, что с некоторого времени, hetzner на все сервера ставит програмку cpuspeed. Она регулирует скорость процессора. Если процессор не сильно нагружен, то уменьшает его частоту, чтобы уменьшить энергопотребление.

Понятно, что для их макретологов это замечательно! Ничего не делаем, а энергопотребление уменьшается за 10%! Фигня, что сайты отвечают в 2-3 раза медленее - кто это заметит?

В общем, сносим её к чертям.

/etc/init.d/cpuspeed stop
yum erase -y cpuspeed

И скорость ответа реактора снова опускается до 400мс. Теперь уже постоянно.

Если в в недавнем времени заказывали сервера у hetnzer - посмотрите, не стоит ли у вас тоже cpuspeed =)
koka koka08.01.201420:11ответитьссылка 34.7
Сслучайненько минусанул... А они при получении сервера не выдавали никаких сопроводительных документов с тем, что ставили?
нет, конечно. Там же сотня пакетов ставится. Не будут же они по каждому писать =). Предполагается, что ты сам опытный и сможешь настроить сервер. И вообще можно самому ставить систему с нуля через виртуальный kvm.
koka koka 08.01.201420:27 ответить ссылка 4.1
Эта програмка стоит в стандартном дистрибутиве для ноутбуков, например. Для ноутов она очень даже полезная =)
А что такое стандартный дистрибутив для ноутбука? :)
ну в смысле если устанавливаешь базовый Desktop, то наверное эта утилита тоже идёт.

Хотя я тут думаю - такое ощущение, что эта утилита вообще в новой версии centos в minimal конфигурацию включена...
Эммм... У нас вроде процы для пека занимаются автоматическим снижением своей частоты если нет нагрузки, не?
да, такая технология есть у всех последних процов. Но она вроде должна иметь поддержку в ОС или в биосе. Судя по тому, что время запросов уменьшилось - эти меры сработали. Иначе пришлось бы вручную устанавливать им максимальную частоту
Ну тротлинг же на процессорном уровне реализован. Хотя это в данном случае проще. В принципе, могли и в процессоре это реализовать, по числу запросов/сложности вычисления.
не, там требуется работа материнской платы вроде. Ибо надо регулировать частоту.
ну вообще варианта два - или на уровне биоса режем постоянную частоту, или, если ОС поддерживает, снижаем частоту при малой нагрузке, без ОС процу так делать нельзя=)
Так если оно в минимал включено, значит хостер ни при чем же и тут сплошная клевета.

Хотя вот там ниже поцык говорит что у него в дебьяне тоже самое.
ну вот хз. То ли её с версии 6.5 в минимал включили, то ли хецнер отдельно включил её. Я надеюсь, что в рхел не такие дураки сидят, что в минимал cpuspeed засовывают с такими дефолтными настройками =)
Хуясе. Не ожидал от hetnzer-а такой подставы.
С ними вообще поаккуратнее надо
Центось? Или на рхел разорились?
зачем рхел, когда есть центос?
koka koka 08.01.201422:13 ответить ссылка 0.4
Просто так, для разнообразия) Вообще подписка на обновления вроде не дорого стоит.
ага, всего порядка тыщи баксов в год вроде =)
http://www.rhd.ru/price.htm
Селф саппорт, 13800р в год.
Для себя конечно же не брал бы, но на пачку серверов, чтобы с одного брать пакеты и на других обновлять в продакшене не так уж дорого.
секуьюрити фиксы и на центосе выходят. А из базы мне не сильно что-то нужно ещё.
Центос норм тем более сейчас, когда редхат будет помогать с выпусками.
а SLES не дешевле будет? или тут выбирать не приходится?
Не знаю, никогда не ползовался слесом. Можно какой угодно дистрибутив выбрать, главное чтобы ты его хорошо знал)
Скажи, а почему вообще центос? Просто привычка или есть что-то такое в нём концептуально хорошее?
Наиболее стабильная. До этого достаточно долго сидел на генту. И очень задолбало в портаджах постоянно ловить баги от bleeding edge. А рхел - это самый консервативный дистриб с поддержкой энтерпрайза. Там медленнее обновляются пакеты, зато всё тестируется очень сильно.
koka koka 09.01.201416:25 ответить ссылка -0.1
Гента? В продакшоне? О боже мой!

Ну хоть один приличный человек в этих интернетах :)
Вообще его можно не рубить, а настроить=)
нужно выставить говернор, который не будет приоритетом электричество экономить, смотрите в эту сторону -
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors (для арча)
это прикол всех систем, где частота может понижаться (например, смартфоны, те, кто прошивал модифицированные прошивки, в курсе)
Раз уж про hetnzer, не видел такого чтобы сайт недоступен был позавчера? А то у нас на работе позавчера тоже люди немогли зайти из новозеландии\сан-франциско\норвегии, хостимся на хетснере тоже,у себя все перекопали на так что на них грешим
у них каждый день бывают сетевые проблемы с какими-нибудь небольшими сегментами сети. Так что вполне возможно. Глобально - всё работало более-менее.
А если сервер на винде?
Я давно не заглядывал - работает и работает ...
Удачной отладки, суки (с)
А Atmel так и делает, гады:)
В своих avr'ках, по крайней мере.
ага, народ путают. Я привык
Это где?
В микроконтроллерах AVR ( http://ru.wikipedia.org/wiki/AVR ), когда шьёшь фьюзы (fuse - пердохранитель), из-за того, что описано на картинке, есть риск (у новичков - он крайне высок) забыться и перепутать 0 и 1. Ну а дальше - маленький кирпичик. (или при высоких навыках его можно воскресить, но при высоких навыках его и угробить-то сложно:))
Но это к Си никак не относится. А на счёт флагов, просто нужно пользоваться терминологией "незапрограммирован" (unprog) и "запрограммирован" (prog), либо придерживаться стандарта и программировать фьюзы в сыром виде "как есть" (т.е. 1-байтными числами), согласно документации. Эта путаница возникает не из-за Atmel (то же самое в советских ПЗУ на плавких вставках, например. В незапрограммированном состоянии у него бит равен 1 и 0 после прожига перемычки), а из-за составителей прошивальшиков, которые всё никак не могут договориться, что же отмечать галочкой checkbox-а: сырое значение бита фьюза или состояние запрограммированности фьюза, при этом иногда даже не добавляя примечания, что означает галочка. Просто нужно пользоваться нормальным прошивальшиком, на вроде avrdude (где значение выставляется в сыром виде и ошибиться нереально), либо же заранее его изучить и быть внимательнее.
IfoR IfoR 10.01.201401:09 ответить ссылка 0.0
Пидарасы, сэр
Eclipse?
Меня вот забавляет что мой коммент заминусовали, а твой с картинкой, но точно такой же заплюсовали.

Потешно :).
Скилованый админ однако ...
как будто на хабр зашел
Тег "админские истории" тут очень сильно хорош, кока тащит люто. + запили рсс :)
а у меня иногда падает инет что делать?
постарайся сделать так, чтобы он не падал
прочитал на одном дыхании, автор, пиши ещё!
ОБОЖЕЖГШЕЩЕ
/
reactor01 reactor01 08.01.201422:33 ответить ссылка -0.6
у меня не стоит
Соболезнуем.
Твоояяяя роззааа в стаканееее..
вот это ник!
у меня лишь висит
От себя добавлю репорт. Хецнер, дебиан семерка. В минимальную установку входит аналогичный пакет:
root@Debian-70-wheezy-64-minimal ~ # dpkg --get-selections "*" | grep cpu
cpufrequtils install

Фашисты свет экономят за счет клиентов.
почему то тупо сразу подумал на кэш, но почитал подробнее и задумался
Тоже сначала в сторону кэша думал. Понятно, почему: "сразу после обновления сайта время загрузки страниц резко падает". Обновление = сброс кэша. И вообще - как говаривал мой старый тимлид: "В любой непонятной ситуации чистите кэш".

Ан нет.
Видать у них побывали люди из мыломсру. Эти ребята знают как незаметно подлянку подкинуть.
У LeaseWeb аналогичную беду обнаружил буквально пару дней назад.
Спасибо за наводку. Тоже живём на хецнере.
Albreht Albreht 09.01.201402:21 ответить ссылка 0.1
устроили тут хабру
enhhf enhhf09.01.201404:10ответитьссылка -0.7
ты так пишешь, как будто это что-то плохое.
Можно подумать снобско-занудное говно это хорошо.
Ну так это, cpufrequtils в дебиане, емнип, из коробки вообще ставится - посмотрел на другие сервера не в хецнере - везде есть.

>/etc/init.d/cpuspeed stop

Не может после этого у тебя скорость повыситься :) Посмотри на секцию stop в init файле - там просто пустота. cpufrequtils надо через rmmod выгружать:

>rmmod acpi_cpufreq
>rmmod cpufreq_powersave
>rmmod cpufreq_userspace
>rmmod cpufreq_conservative
>rmmod cpufreq_stats
drakmail drakmail 09.01.201410:30 ответить ссылка 0.1
ну в центосе stop устанавливает всё по максимуму. Например, вот

echo userspace > $cpu/cpufreq/scaling_governor
cat $cpu/cpufreq/cpuinfo_max_freq > $cpu/cpufreq/scaling_setspeed
koka koka 09.01.201410:52 ответить ссылка 0.1
koka, покажи графики после фикса
как-то так
servlö: Nginx requests time (lh)
А это не дофига, 400мс то?
ну как тебе сказать... с одной стороны - достаточно много. С другой стороны - дальнейшая оптимизация очень сложная и 400мс вполне приемлемо учитывая, что страница всё равно сильно дольше будет грузиться.
koka koka 03.02.201416:17 ответить ссылка 0.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
3 3 3 3 lS 3 3 3 S 3 3 3 Ü3333gg 3 3 3 3 3 3 3 3 1 S 3 3 3 3 g 3 3 3 3 3 3 3 3 ¡ 3 s i S 3 g g 3 3 3 3 3 3 3 3 ! !=Ë Si I I I 1 servl2: CPU Loads (lh) 3 3 3 3 3 ^ 3 3 3 3 3 3 3-ÜÜ 3 3 3 3 3 3 3 3 3 3 3 I Sa Si I I 11 1 SS 3 3 3 1 3 3 3 S S 3 3 3 ^ i i 1 i 3 3 3 3 S 3 3 3 3 3 3 S0 I i :=11
подробнее»

админские истории разное ceph и все все все openstack swift

3 3 3 3 lS 3 3 3 S 3 3 3 Ü3333gg 3 3 3 3 3 3 3 3 1 S 3 3 3 3 g 3 3 3 3 3 3 3 3 ¡ 3 s i S 3 g g 3 3 3 3 3 3 3 3 ! !=Ë Si I I I 1 servl2: CPU Loads (lh) 3 3 3 3 3 ^ 3 3 3 3 3 3 3-ÜÜ 3 3 3 3 3 3 3 3 3 3 3 I Sa Si I I 11 1 SS 3 3 3 1 3 3 3 S S 3 3 3 ^ i i 1 i 3 3 3 3 S 3 3 3 3 3 3 S0 I i :=11