Вчера я обнаружил, что среднее время запросов на реакторе выросло с 400мс до 800-1000мс.
Первое, что подумал - наверное проблемы с сетью на фронтэнде. Но на американском фронтэнде время запросов так же синхронно выросло. Маловероятно, что проблемы возникнут одновременно на обоих серверах.
Погрепав логи, обнаружил что медленее всего идут запросы на страницы, которые обращаются к сфинксу (поисковый движок). Почитал про его настройку, соптимизировал его. Нагрузка на сервер со сфинксом ненадолго упала, но через 15 минут снова возросла.
И тут я ещё обнаружил, что сразу после обновления сайта время загрузки страниц резко падает до 400мс, а потом постепенно возрастает до старых значений. См график
Отличный комментарий!
Это показалось пиздец каким странным.
Следующая идея - может php-fpm имеет какой-нибудь memory leak? Была отброшена, так как после определённого значения всё работало хорошо. Да и на серверах были свободные память и диски.
Может упирается в лимит подключений куда-нибудь? mysql, sphinx, redis, memcached - на всех лимит подключений не достигался. Да и он должен был в логи писать, если достигнет.
И так. Сидя перед экраном atop и медитируя, почему эта сволочь медленно отвечает на запросы, я обнаружил в правом верхнем углу (куда я обычно не смотрю) какую-то странную информацию...
Следующая идея - может php-fpm имеет какой-нибудь memory leak? Была отброшена, так как после определённого значения всё работало хорошо. Да и на серверах были свободные память и диски.
Может упирается в лимит подключений куда-нибудь? mysql, sphinx, redis, memcached - на всех лимит подключений не достигался. Да и он должен был в логи писать, если достигнет.
И так. Сидя перед экраном atop и медитируя, почему эта сволочь медленно отвечает на запросы, я обнаружил в правом верхнем углу (куда я обычно не смотрю) какую-то странную информацию...
дальнейшее расследование показало, что с некоторого времени, hetzner на все сервера ставит програмку cpuspeed. Она регулирует скорость процессора. Если процессор не сильно нагружен, то уменьшает его частоту, чтобы уменьшить энергопотребление.
Понятно, что для их макретологов это замечательно! Ничего не делаем, а энергопотребление уменьшается за 10%! Фигня, что сайты отвечают в 2-3 раза медленее - кто это заметит?
В общем, сносим её к чертям.
/etc/init.d/cpuspeed stop
yum erase -y cpuspeed
И скорость ответа реактора снова опускается до 400мс. Теперь уже постоянно.
Если в в недавнем времени заказывали сервера у hetnzer - посмотрите, не стоит ли у вас тоже cpuspeed =)
Понятно, что для их макретологов это замечательно! Ничего не делаем, а энергопотребление уменьшается за 10%! Фигня, что сайты отвечают в 2-3 раза медленее - кто это заметит?
В общем, сносим её к чертям.
/etc/init.d/cpuspeed stop
yum erase -y cpuspeed
И скорость ответа реактора снова опускается до 400мс. Теперь уже постоянно.
Если в в недавнем времени заказывали сервера у hetnzer - посмотрите, не стоит ли у вас тоже cpuspeed =)
Сслучайненько минусанул... А они при получении сервера не выдавали никаких сопроводительных документов с тем, что ставили?
нет, конечно. Там же сотня пакетов ставится. Не будут же они по каждому писать =). Предполагается, что ты сам опытный и сможешь настроить сервер. И вообще можно самому ставить систему с нуля через виртуальный kvm.
Эта програмка стоит в стандартном дистрибутиве для ноутбуков, например. Для ноутов она очень даже полезная =)
А что такое стандартный дистрибутив для ноутбука? :)
ну в смысле если устанавливаешь базовый Desktop, то наверное эта утилита тоже идёт.
Хотя я тут думаю - такое ощущение, что эта утилита вообще в новой версии centos в minimal конфигурацию включена...
Хотя я тут думаю - такое ощущение, что эта утилита вообще в новой версии centos в minimal конфигурацию включена...
Эммм... У нас вроде процы для пека занимаются автоматическим снижением своей частоты если нет нагрузки, не?
да, такая технология есть у всех последних процов. Но она вроде должна иметь поддержку в ОС или в биосе. Судя по тому, что время запросов уменьшилось - эти меры сработали. Иначе пришлось бы вручную устанавливать им максимальную частоту
Так если оно в минимал включено, значит хостер ни при чем же и тут сплошная клевета.
Хотя вот там ниже поцык говорит что у него в дебьяне тоже самое.
Хотя вот там ниже поцык говорит что у него в дебьяне тоже самое.
ну вот хз. То ли её с версии 6.5 в минимал включили, то ли хецнер отдельно включил её. Я надеюсь, что в рхел не такие дураки сидят, что в минимал cpuspeed засовывают с такими дефолтными настройками =)
охлол
Хуясе. Не ожидал от hetnzer-а такой подставы.
С ними вообще поаккуратнее надо
Центось? Или на рхел разорились?
зачем рхел, когда есть центос?
Просто так, для разнообразия) Вообще подписка на обновления вроде не дорого стоит.
ага, всего порядка тыщи баксов в год вроде =)
http://www.rhd.ru/price.htm
Селф саппорт, 13800р в год.
Для себя конечно же не брал бы, но на пачку серверов, чтобы с одного брать пакеты и на других обновлять в продакшене не так уж дорого.
Селф саппорт, 13800р в год.
Для себя конечно же не брал бы, но на пачку серверов, чтобы с одного брать пакеты и на других обновлять в продакшене не так уж дорого.
секуьюрити фиксы и на центосе выходят. А из базы мне не сильно что-то нужно ещё.
а SLES не дешевле будет? или тут выбирать не приходится?
Скажи, а почему вообще центос? Просто привычка или есть что-то такое в нём концептуально хорошее?
Наиболее стабильная. До этого достаточно долго сидел на генту. И очень задолбало в портаджах постоянно ловить баги от bleeding edge. А рхел - это самый консервативный дистриб с поддержкой энтерпрайза. Там медленнее обновляются пакеты, зато всё тестируется очень сильно.
Гента? В продакшоне? О боже мой!
Ну хоть один приличный человек в этих интернетах :)
Ну хоть один приличный человек в этих интернетах :)
Вообще его можно не рубить, а настроить=)
нужно выставить говернор, который не будет приоритетом электричество экономить, смотрите в эту сторону -
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors (для арча)
это прикол всех систем, где частота может понижаться (например, смартфоны, те, кто прошивал модифицированные прошивки, в курсе)
нужно выставить говернор, который не будет приоритетом электричество экономить, смотрите в эту сторону -
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors (для арча)
это прикол всех систем, где частота может понижаться (например, смартфоны, те, кто прошивал модифицированные прошивки, в курсе)
Раз уж про hetnzer, не видел такого чтобы сайт недоступен был позавчера? А то у нас на работе позавчера тоже люди немогли зайти из новозеландии\сан-франциско\норвегии, хостимся на хетснере тоже,у себя все перекопали на так что на них грешим
у них каждый день бывают сетевые проблемы с какими-нибудь небольшими сегментами сети. Так что вполне возможно. Глобально - всё работало более-менее.
А если сервер на винде?
Я давно не заглядывал - работает и работает ...
Я давно не заглядывал - работает и работает ...
Удачной отладки, суки (с)
А Atmel так и делает, гады:)
В своих avr'ках, по крайней мере.
В своих avr'ках, по крайней мере.
ага, народ путают. Я привык
Это где?
В микроконтроллерах AVR ( http://ru.wikipedia.org/wiki/AVR ), когда шьёшь фьюзы (fuse - пердохранитель), из-за того, что описано на картинке, есть риск (у новичков - он крайне высок) забыться и перепутать 0 и 1. Ну а дальше - маленький кирпичик. (или при высоких навыках его можно воскресить, но при высоких навыках его и угробить-то сложно:))
Но это к Си никак не относится. А на счёт флагов, просто нужно пользоваться терминологией "незапрограммирован" (unprog) и "запрограммирован" (prog), либо придерживаться стандарта и программировать фьюзы в сыром виде "как есть" (т.е. 1-байтными числами), согласно документации. Эта путаница возникает не из-за Atmel (то же самое в советских ПЗУ на плавких вставках, например. В незапрограммированном состоянии у него бит равен 1 и 0 после прожига перемычки), а из-за составителей прошивальшиков, которые всё никак не могут договориться, что же отмечать галочкой checkbox-а: сырое значение бита фьюза или состояние запрограммированности фьюза, при этом иногда даже не добавляя примечания, что означает галочка. Просто нужно пользоваться нормальным прошивальшиком, на вроде avrdude (где значение выставляется в сыром виде и ошибиться нереально), либо же заранее его изучить и быть внимательнее.
Пидарасы, сэр
Eclipse?
Меня вот забавляет что мой коммент заминусовали, а твой с картинкой, но точно такой же заплюсовали.
Потешно :).
Потешно :).
Скилованый админ однако ...
как будто на хабр зашел
Тег "админские истории" тут очень сильно хорош, кока тащит люто. + запили рсс :)
а у меня иногда падает инет что делать?
постарайся сделать так, чтобы он не падал
прочитал на одном дыхании, автор, пиши ещё!
у меня не стоит
Соболезнуем.
Твоояяяя роззааа в стаканееее..
вот это ник!
у меня лишь висит
От себя добавлю репорт. Хецнер, дебиан семерка. В минимальную установку входит аналогичный пакет:
root@Debian-70-wheezy-64-minimal ~ # dpkg --get-selections "*" | grep cpu
cpufrequtils install
Фашисты свет экономят за счет клиентов.
root@Debian-70-wheezy-64-minimal ~ # dpkg --get-selections "*" | grep cpu
cpufrequtils install
Фашисты свет экономят за счет клиентов.
почему то тупо сразу подумал на кэш, но почитал подробнее и задумался
Тоже сначала в сторону кэша думал. Понятно, почему: "сразу после обновления сайта время загрузки страниц резко падает". Обновление = сброс кэша. И вообще - как говаривал мой старый тимлид: "В любой непонятной ситуации чистите кэш".
Ан нет.
Ан нет.
Видать у них побывали люди из мыломсру. Эти ребята знают как незаметно подлянку подкинуть.
У LeaseWeb аналогичную беду обнаружил буквально пару дней назад.
Спасибо за наводку. Тоже живём на хецнере.
устроили тут хабру
ты так пишешь, как будто это что-то плохое.
Можно подумать снобско-занудное говно это хорошо.
Ну так это, 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
>/etc/init.d/cpuspeed stop
Не может после этого у тебя скорость повыситься :) Посмотри на секцию stop в init файле - там просто пустота. cpufrequtils надо через rmmod выгружать:
>rmmod acpi_cpufreq
>rmmod cpufreq_powersave
>rmmod cpufreq_userspace
>rmmod cpufreq_conservative
>rmmod cpufreq_stats
ну в центосе stop устанавливает всё по максимуму. Например, вот
echo userspace > $cpu/cpufreq/scaling_governor
cat $cpu/cpufreq/cpuinfo_max_freq > $cpu/cpufreq/scaling_setspeed
echo userspace > $cpu/cpufreq/scaling_governor
cat $cpu/cpufreq/cpuinfo_max_freq > $cpu/cpufreq/scaling_setspeed
koka, покажи графики после фикса
А это не дофига, 400мс то?
ну как тебе сказать... с одной стороны - достаточно много. С другой стороны - дальнейшая оптимизация очень сложная и 400мс вполне приемлемо учитывая, что страница всё равно сильно дольше будет грузиться.
Чтобы написать коммент, необходимо залогиниться
Понятно, что для их макретологов это замечательно! Ничего не делаем, а энергопотребление уменьшается за 10%! Фигня, что сайты отвечают в 2-3 раза медленее - кто это заметит?
В общем, сносим её к чертям.
/etc/init.d/cpuspeed stop
yum erase -y cpuspeed
И скорость ответа реактора снова опускается до 400мс. Теперь уже постоянно.
Если в в недавнем времени заказывали сервера у hetnzer - посмотрите, не стоит ли у вас тоже cpuspeed =)