обычно во всех немецких ДЦ урезают канал до 10мбит а не отрывают провода...
Это не подходит, к сожалению. Exim более популярный, стабильный, и функциональный, по крайней мере так пишут. (и для меня он более знакомый) А на файлах всё должно быть по личным соображениям. Другие варианты не подходят. Кстати сборка походит на сборку от DA.
Не одного предложения в ПМ не было, где все спецы по exim? :)
да, пхп так и запускается.
проблема в том что трудно это всё выловить в реальном времени
strace ничего не выводит в тот момент когда активно используется процессор, а что было до этого момента никак не узнать, я ведь не могу знать когда будет очередная волна с такими зависаниями (
очень удивительная вещь, может месяц всё нормально работать, а потом не с того не с сего такие глюки раза 3 за день, и само проходит... сейчас хоть запустил скрипт который перезагружает пхп если он не реагирует!
Запускать strace на все процессы, писать логи, как зависнет, убить все strace и смотреть что там последнее в логах? =)
В том то и дело, даже 10х нет, Debian lenny
top -V
top: procps version 3.2.7
usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
На сервере сайты и вот такой вывод хороший, всё по нулям =)
ну например,
- 0.4% используют какие то процессы, а в топе их наверху не видно потому что округляется до 0, не сортируются
- хотим посчитать сколько потребляет 1 пользователь, а не можем по той же причине ( вдруг на нём висит 50 процессов и все они потребляют около 0.4 и выводится 0, и вот, 0.4*50 = 20%, кто съел, не знаем)
я не говорю что это для критический недостаток, но хотелось бы десятые доли для отчётности ;) ну раз нет так нет, если что сурсы подправлю, или старую версию поставлю)
Удалось отловить процесс php-cgi потреблющий 99%CPU (при нормальной работе их нет) и в тот момент когда он что-то делает (после чего частенько все php процессы не принимают новые соединения) выполнить strace и lsof
Вот такие результаты, но мне они не очём не говорят 🙅
наверное интересный strace должен быть до этого момента (
несколько секунд ничего не выводится кроме первой строки, потом это начиная с SIGPROF:
и lsof для подобного процесса
Какие выводы можно сделать?
Кто-нибудь знает как можно получить вывод top для CPU с 10тыми долями, например 0.1
Просто в новых версиях top показываются только целые значения для cpu.
или есть альтернативная команда для отслеживания потребления ресурсов в реальном времени?
Хочется добавить своё слово так как был с этим плотно связан какое то время)
Автор движется в правильном направлении, простых iptables и limit_zone не достаточно, по крайней мере мне было не достаточно когда приходилось бороться с разними видами ддос атак, причём иногда со всеми сразу, syn/tcp/udp flood (и на php приложения естественно) несколько тысяч ботов, и входящим трафиком более 100мбит
Вы не поверите, мой сат открывался, и нормально, когда всё-же часть нормальных пакетов пролетало через сетевую в 100мбит и ограничение на свитче. (учитывая ддос с превышением)
Нормальной работой сайта это не назвать, но всё-же приятно что ддосеры побеждают лиж потому что мне не хватате канала для борьбы ;)
А результатирующая настройка сервера основывается как раз на всех видах защит iptables + limit_zone (эффективности в ней мало) + укреплением tcp стека и главное, самописанная программа без которой всё остальное просто теряло смысл! Программа по смыслу аналогична программе автора(анализатор логов и подключений), только более гибкая, вплоть до самоочистки забаненных адресов.
Ну опять же это защита только на уровне сервера, а при серьёзных атаках этого не достаточно.
fd_setsize установлен на 1024 по умолчанию (одновременных подключений через select socket), поправить можно легко, но не ужели этого может не хватать?
Возможно это потребуется для отдачи файликов большому числу юзеров, но для этого уж точно лучше nginx с epoll ;)
точных цифр нет, при подсчёте числа httpd процессов до 50% больше, при нынешних серверах с 8гб оперативы это вообще не проблема) (пробовал с itk и без него на нагруженном сервере)