- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
cent-os-5.1
Софт стандартный от хостера (апач, фтп, почтовый сервер), ставили они сами.
Резко возросло количество отказов в ресурсах (количество запущенных процессов) Остальные ресы норм, менее 20%. Началось в середине прошлого месяца, ежедневно 12 отказов. Последние несколько суток возросло до 9090 ежедневно . Пару раз пришлось перегружать vds, завис или что-то в этом роде. При чем в VDSmehager'e в текущей нагрузке количество процессов всегда в пределах допустимого. Отказы в запуске процессов видны только в статистике отказов VDSmehager'а. И еще такой нюанс. Когда в статистике отказов появляются данные за новый день, то сразу 4545 отказо в запуске процессов, т.е. половина, так сказать, дневной нормы. Когда появляются данные за следующий день, 4545 становится 9090, а за текущий день снова 4545.
У vds я так понял довольно сильные ограничения на максимальное количество процессов (на моем тарифе предел - 60). Поддержка советует ставить nginx, но мне кажется дело не в высокой нагрузке. Логи апача посмотрел, там есть такие строчки
[Sun Oct 11 18:56:49 2009] [error] (12)Cannot allocate memory: fork: Unable to fork new process
но их не много. Да и подозрительно это как-то, одинаковое ежедневное количество отказов возникающих в один момент.
Можно как то узнать Какому процессу отказано в запуске? Что вообще можно сделать в этой ситуации.
а сколько процессов запущено в штатных условиях?
посмотрите ps/top
в штатных условиях 28 - 30 процессов
Этого я не понял. top показывает 31 процесс сейчас.
судя по сообщению об ошибке - может памяти нехватать
это VDS на OpenVZ или Virtuozzo?
посмотрите /proc/user_beancounters - там скапливается некоторая статистика
http://wiki.openvz.org/Proc/user_beancounters
OpenVZ
Отказов по мамяти вообще небыло нигогда.
/proc/user_beancounters
uid resource held maxheld barrier limit failcnt
6037: kmemsize 4198350 6771830 67108864 67108864 0
lockedpages 0 0 256 256 0
privvmpages 38993 79277 153600 204800 0
shmpages 926 1630 21504 21504 0
dummy 0 0 0 0 0
numproc 35 60 60 60 4545
physpages 19147 26036 0 2147483647 0
vmguarpages 0 0 51200 51200 0
oomguarpages 19147 26037 51200 51200 0
numtcpsock 17 55 6000 6000 0
numflock 4 12 188 206 0
numpty 1 1 16 16 0
numsiginfo 0 60 256 256 0
tcpsndbuf 158756 389064 24576000 24576000 0
tcprcvbuf 278528 600164 24576000 24576000 0
othersockbuf 86504 517512 1126080 2097152 0
dgramrcvbuf 0 38556 262144 262144 0
numothersock 50 184 6000 6000 0
dcachesize 263376 357363 3409920 3624960 0
numfile 1198 2018 6000 6000 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 13 13 128 128 0
Поставьте nginx первым делом, как и было сказано. Зачем у поддержки спрашивать совета, если Вы его даже не пытались исполнить?
Pilat добавил 18.10.2009 в 12:02
Может, количество отказов - это количество индексируемых страниц?
numproc 35 60 60 60 4545
да, дело в numproc - остальное за границы тарифа не вылезает.
вполне вероятно, что проблема в апаче: куча медленных клиентов вполне может
создать ситуацию, когда количество процессов httpd вылезет за границы.
можете ограничить MaxClients, чтобы влезало в ограничения - и посмотреть что будет ;)
Можно как то узнать Какому процессу отказано в запуске? Что вообще можно сделать в этой ситуации.
почему бы и нет, раз у вас access_log апача есть - смотрите там, какой запрос
в тот момент отработал с ошибкой
У меня лицензия на скрипт на внешний ip, не нашел пока, как сделать чтобы скрипт (апач) детектил его.
Это типа паук какой-то пытается разом все страницы загрузить? Попробую посчитать страницы :) .
Как его ограничить?
в тот момент отработал с ошибкой
access_log апача содержит только такие строки, различие в дате времени
У меня лицензия на скрипт на внешний ip, не нашел пока, как сделать чтобы скрипт (апач) детектил его.
нет ничего невозможного, к nginx'у это отношения не имеет
Как его ограничить?
изменить значение MaxClients в конфиге апача, перезапустить апач
access_log апача содержит только такие строки, различие в дате времени
это _все_ что в access_log? т.е. вы отключили логгирование для всех виртуальных хостов?
если нет - смотрите в соответствующих лог-файлах
я впревые взял vds в августе этого года, сам ничего не настраивал, поставил только зенд отптимайзер и ионкьюб. В администрировании серверов мало что понимаю.
Сайты все используют скрипт привязанный к внешнему ip, если апач не правильно детектит его сайты работать не будут. В случае если поставить nginx фронтендом к апачу, как советует поддержка, апач будет детектить 127.0.0.1 (или что-то в этом роде)
Тут я все меньше понимаю. Если под "виртуальных хостов" имеется в виду дополнительные домены добввленные на сервер, то логи есть и есть ошибки возникающие при каждой загрузке страницы.
[Sun Oct 18 15:33:46 2009] [error] [client 93.158.144.28] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_parser_set_option(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /var/www/user/data/www/site.ru/libs/XMLparser.php on line 63
[Sun Oct 18 15:33:46 2009] [error] [client 93.158.144.28] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_set_object(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /var/www/user/data/www/site.ru/libs/XMLparser.php on line 64
[Sun Oct 18 15:33:46 2009] [error] [client 93.158.144.28] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_set_object(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /var/www/user/data/www/site.ru/libs/XMLparser.php on line 64
[Sun Oct 18 15:33:46 2009] [error] [client 93.158.144.28] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_set_element_handler(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /var/www/user/data/www/site.ru/libs/XMLparser.php on line 65
[Sun Oct 18 15:33:46 2009] [error] [client 93.158.144.28] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_set_character_data_handler(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /var/www/user/data/www/site.ru/libs/XMLparser.php on line 66
[Sun Oct 18 15:33:46 2009] [error] [client 93.158.144.28] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_parser_free(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /var/www/user/data/www/site.ru/libs/XMLparser.php on line 68
[Sun Oct 18 15:33:46 2009] [error] [client 93.158.144.28] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_parse(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /var/www/user/data/www/site.ru/libs/XMLparser.php on line 73
[Sun Oct 18 15:33:46 2009] [error] [client 93.158.144.28] PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_parse(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /var/www/user/data/www/site.ru/libs/XMLparser.php on line 73
Страницы при этом грузятся нормально, автор скрипта говорит что на это можно забить, да и отказы в запуске возникают не в течении суток постепенно накапливаясь, а в один момент, если конечно статистика в файл /proc/user_beancounters пишется в риалтайм
Сайты все используют скрипт привязанный к внешнему ip, если апач не правильно детектит его сайты работать не будут. В случае если поставить nginx фронтендом к апачу, как советует поддержка, апач будет детектить 127.0.0.1 (или что-то в этом роде)
можно обучить апач делать правильно - см, например, mod_rpaf
Тут я все меньше понимаю. Если под "виртуальных хостов" имеется в виду дополнительные домены добввленные на сервер, то логи есть и есть ошибки возникающие при каждой загрузке страницы.
Есть ошибка, которую Вы цитировали (can't fork). Время события вы знаете. Логично
поискать в access_log'ах запросы в окрестности этого момента со статусом ошибки?