Т.е. если потомок вырос скажем до 500 мб, то это означает, что на обработку какого-то из запросов потребовалось столько памяти?
Я так понимаю, что при больших MaxRequestsPerChild память потихоньку утекает. При 0 она вообще постепенно вся съедается. Но вопрос - куда?? Неосвобождение в php скриптах? так ведь php сам после завершения скрипта все должен освобождать. Какие еще варианты?
Вроде, поборол я свою беду..
Если кому интересно, поделюсь.
Сначала оказалось, что база mysql (innodb) уже не влезала в память. Увеличил под нее место. Лог ошибок значительно уменьшился, но все равно иногда выскакивали.
Затем уменьшил MaxRequestsPerChild с 10000 до 1000 (в десять раз) - ошибки исчезли.
А вот как выглядят диаграммы выделения памяти при MaxRequestsPerChild 10000 и 1000 соответственно:
_SP_, если
то все нормально, статику отдает nginx. В логах nginx динамика тоже должна быть, потому что запрос сначала nginx принимает. А проц nginx ест на порядок меньше апача, потому как ему не нужно компилять динамику постоянно. Поэтому при такой нагрузке его и не заметно.
Результат могу выложить чуть позже, но там ничего криминального нет. Сверху ~5 процессов апача, ниже nginx. Проц загружен до 40%.
Maxxi добавил 26.03.2009 в 16:01
phpinfo показывает то значение, которое я ставлю в конфиге.
Если бы это было превышением memory_limit, то значение allocated + tried to allocate должно было превышать установленное, но оно далеко не дотягивает.
php установлен как модуль.
осталось узнать какой сервер и чей блок онлайн
У одного пользователя удалось выудить трейс и пинг:
PING xx.xx.xx.xx (xx.xx.xx.xx): 56 data bytes
64 bytes from xx.xx.xx.xx: icmp_seq=0 ttl=50 time=189.065 ms
64 bytes from xx.xx.xx.xx: icmp_seq=1 ttl=50 time=186.895 ms
64 bytes from xx.xx.xx.xx: icmp_seq=2 ttl=50 time=191.868 ms
64 bytes from xx.xx.xx.xx: icmp_seq=3 ttl=50 time=188.020 ms
64 bytes from xx.xx.xx.xx: icmp_seq=4 ttl=50 time=197.903 ms
traceroute to xx.xx.xx.xx (xx.xx.xx.xx), 64 hops max, 40 byte packets
1 Livebox-3D80 (192.168.1.1) 3.444 ms 6.109 ms 13.849 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
...
есть идеи?
Maxxi добавил 17.10.2008 в 23:47
demo.dnsdoctor.ru - домен на продажу.
а вот host-tracker.com действительно показал, что для разных точек Франции сайт не доступен (домен не найден). Что подскажете?
Еще интересный момент.
Основной сайт у меня в зоне ru. Создал зеркало в другой зоне, которое физически грузится с того же места. Новое зеркало проиндексировалось, но еще не склеилось, хотя host в роботсах был прописан сразу.
Так что самое интересное! По всем НЧ (многословным) запросам зеркало выдается ВЫШЕ основного сайта. Хотя основной сайт уже оброс кучей естественных ссылок. Причем, на зеркале выдаются релевантные внутренние страницы, а для основного сайта чаще всего (для того же запроса) выдается главная, на которой есть ссылка на релевантную. Повторю, что контент абсолютно одинаков, т.к. отдается с одного места.
Что это? Пессимизация, "ты последний" или как еще назвать? Как с этим бороться?
И что ожидать после склейки зеркала?
Копия главной или друг друга? Если друг друга, то пусть склеятся и выводится одна, зачем выводить главную?
У меня не так. Контент на всех страницах уникальный и свой.
Да, забыл упомянуть, что в гугле по тем же запросам внутренние выдаются нормально (на первых позициях). Т.е. с релевантностью и ссылочной структурой вроде как все нормально. :)