- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Dimka, ну так смотрите еще какие модули "держат" модуль conntrack. они зависят друг от друга.
В другом порядке пробуйте, в конце концов.
Можно еще перегрузить и попытаться не загружать ту программу или скрипт которая их загрузила.
iptables -t raw -A PREROUTING -j NOTRACK
iptables -t raw -A OUTPUT -j NOTRACK
Будет чуть медленнее, чем при совсем выгруженном conntrack.
А также смотрите, кто у вас инициирует столько исходящих соединений, что сокеты висят в SYN_SENT без ответа.
Огромное спасибо за советы.
Еще обнаружил проблему.
При более менее активных дисковых операциях, начинает подвисать nginx. Мне кажется, что процесс nginx блокируется при записи лога (лог нужен).
Логи достигают до 10-15 Гбайт в сутки (отключить не могу, но могу уменьшить на 30%).
Вот так выглядит лог проверки доступности сайта (числа - миллисекунды), если запустить на сервере копирование 10ГБ файла.
[time] All time: Dns Connect Send Wait Receive
[2016-03-13 03:09:18] 179: 0 0 44 45 89
[2016-03-13 03:09:20] 189: 0 0 47 44 96
[2016-03-13 03:09:34] 7252: 0 0 43 7007 200
[2016-03-13 03:09:37] 1970: 0 0 46 1831 91
[2016-03-13 03:09:41] 179: 0 0 44 44 89
[2016-03-13 03:09:51] 7770: 0 0 44 7007 718
[2016-03-13 03:09:54] 180: 0 0 45 44 89
[2016-03-13 03:09:56] 165: 0 0 41 41 81
Тоже копирование, но с ionice -c3
[2016-03-13 03:38:03] 178: 0 0 44 44 88
[2016-03-13 03:38:05] 178: 0 0 44 44 89
[2016-03-13 03:38:15] 4199: 0 0 44 4065 89
[2016-03-13 03:38:17] 178: 0 0 44 44 88
[2016-03-13 03:38:20] 177: 0 0 44 44 88
[2016-03-13 03:38:25] 1437: 0 0 40 1315 81
[2016-03-13 03:38:28] 162: 0 0 40 40 81
Я так понимаю, задержки когда каждый процесс nginx пытается записать лог.
Логи пишутся по 64Кб: access_log ... buffer=64k;
error_log без указания buffer
скорей отдача статики просадит i/o чем запись лога, тем более с buffer
При более менее активных дисковых операциях, начинает подвисать nginx. Мне кажется, что процесс nginx блокируется при записи лога (лог нужен).
Но вы же нагружаете диск этим копированием и еще и на кеш файлов воздействуете.
Логи да еще и с буфером почти незаметно влияют.
atop - нагрузка "только запись логов":
---------- Добавлено 14.03.2016 в 17:13 ----------
Погуглил - проблема не только у мнея. Судя по всему блокирование nginx из-за бага в ядре 12309: bugzilla.kernel.org/show_bug.cgi?id=12309
Победил следующим путем.
Было:
При:
Особо ничего не изменилось.
dd if=/dev/zero of=/gbfile bs=1M count=6000&
лог доступности сайта, ms:
Оставил и добавил:
Это помогло. Файл стал создаваться существенно дольше:
9437184000 bytes (9.4 GB) copied, 68.1214 s, 139 MB/s
Но, система почти не подвисает.
при проверке доступности сайта каждые 2 секунды:
dd if=/dev/zero of=/gbfile bs=1M count=6000& -- вообще без тормозов
dd if=/dev/zero of=/gbfile bs=1M count=9000& -- одна проверка с задержкой 1.267s
dd if=/dev/zero of=/gbfile bs=1M count=15000& -- одна проверка с задержкой 3.366s
---------- Добавлено 14.03.2016 в 17:27 ----------
Только во время создания 15Гбайт файла вырос disk latency до 4 сек (до этого он был максимум 0.1)
из-за бага в ядре 12309
Дело в том, что этот баг багом не все признают.
Так, некоторое изменение поведения от версии к версии когда система и так уже критически нагружена.
Как nginx будет успевать отдавать файлы, если диск загружен на 100%?
Все эти явления сложно классифицировать, пользователи их плохо описывают и поэтому их просто сваливают на баг 12309. Так что остается замедлять и понижать приоритеты этому копированию. Хорошо, что вам удалось подергать за ручки и что-то изменилось. Но это как-то неосознанно происходит. кто-то где-то написал циферки и у 25% пользователей кажется заработало ? Я тоже не возьмусь в данном случае советовать за какие именно ручки дергать.
Поэтому, я бы все-таки начал с ionice и rsync --bwlimit чтобы неприоритетные задачи сделать незаметными
Хорошо, что вам удалось подергать за ручки и что-то изменилось. Но это как-то неосознанно происходит.
Все верно. Причем я не уверен, что эти опции не вылезут где-то другим боком.
Поэтому, я бы все-таки начал с ionice и rsync --bwlimit чтобы неприоритетные задачи сделать незаметными
Вы имеете ввиду всем задачам, выполняемым по крону, поставить ionice -с3 или другое?
rsync --bwlimit - "ограничивает пропускную способность в КБ/c"
У меня пока не машине нет бакапов. Или где-то еще используется?
Еще, я так понимаю, может подвисать и из-за зеркального рейда.
Вы имеете ввиду всем задачам, выполняемым по крону, поставить ionice -с3 или другое?
Вы сами запускаете команды и поэтому я ограничиваюсь декларацией цели, а не конкретными командами. В частности можно и так.
rsync --bwlimit - "ограничивает пропускную способность в КБ/c"
У меня пока не машине нет бакапов. Или где-то еще используется?
Ну вы же копировали файлы зачем-то. Значит есть необходимость.
А теперь попробуйте rsync, потому что он тоже может работать как программа копирования и именно там есть опция для замедления.
Просто, в других программах очень редко встречаются. В tar - нету. Нужно сильно помучатся.
Еще, я так понимаю, может подвисать и из-за зеркального рейда.
Проверьте, что он не перепроверяется побайтно. Проверьте что диски не тормозят и зеркально нагружены.
Некоторое замедление даст bitmap. Скорее всего, это вам не нужно, но в зависимости от дистрибутива и способа инсталляции bitmap у raid1 может включиться.