- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Привет.
Заявленные параметры VPS: 5.120 MB DDR-RAM / 10.240 MB FlexRAM
Проблема: процессы апача валятся с ошибками
Вывод cat /proc/user_beancounters
Видим, что только kmemsize имеет fail каунтер.
Вывод ps -ylC httpd --sort:rss
Параметры апача:
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 512
MaxClients 512
MaxRequestsPerChild 64
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
В общем, как так оптимизиовать httpd чтобы он не выводил ошибок о memory allocation?
Спасибо
ps. Работы по настройке могу оплатить
Очень интересен ps в виде апачи :)
---
я что то, про память не понял, довайте так напишите конкретно скоко памяти и какая частота выделенна, ато я так понял у вас 5 гиг памяти на vps ?
дайте вывод cat /proc/cpuinfo
ещё дайте такое httpd -l вывод
Выделено 5Гб - типа "гарантировано", 10 Гб типа "флекс"
Проц - 10 Ггц выделено.
cat /proc/cpuinfo кажет 16 ядер Xeon-а и причем тут это? В процессор не упирается.
Упирается в kmemsize лимит от beancounter-ов.
ttpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
Proxoma, поставьте перед апачем легкий прокси (типа nginx).
Потом уже можно крутить остальное (если понадобится). Если
понадобится помощь - обращайтесь.
PS: 500 апачей по 10Mb RSS каждый - уже съедят вашу память в пике. Эта
настройка уже очевидным образом бессмысленна.
Выделено 5Гб - типа "гарантировано", 10 Гб типа "флекс"
Проц - 10 Ггц выделено.
cat /proc/cpuinfo кажет 16 ядер Xeon-а и причем тут это? В процессор не упирается.
Упирается в kmemsize лимит от beancounter-ов.
ttpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
---
кажет 16 ядер Xeon-а и причем тут это?
Это называться берите сервер.
это понятие на vps "Cannot allocate memory" - значит, что то через какое-то время упирается в лимит , настраиваемый для виртуального контейнера.
а вот по ps у вас не соответствуют данные и настройки apache.
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 512
MaxClients 512
MaxRequestsPerChild 64
Попробуйте сделать так
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 512
MaxClients 512
MaxRequestsPerChild 64
</IfModule>
У меня так оно и есть:
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 512
MaxClients 512
MaxRequestsPerChild 64
</IfModule>
Я так понимаю, что на каждое соединение появляется процесс httpd?
Самое интересное, что вся эта конфигурация работает на выделенном сервере с 2 гб памяти и всего хватает. Сайты те же, настройки те же.
А тут вот решил на VPS переползти.
Количество одновременных подключений к серверу может достигать 500. Страницы-чистый php. Не знаю, поможет ли тут nginx
Proxoma добавил 03.02.2010 в 18:35
madoff
а что вы имеете в виду, что конфиуграция не соответствует выводу ps?
Разве если указано
ServerLimit 512
MaxClients 512
то процессов должно быть сколько?
Proxoma, Вы не одиноки. Тут мало кто понимает, что madoff имеет в виду :D
а nginx (в режиме прозрачного прокси) поможет, поскольку возьмет на себя
обработку медленных клиентов. И не будет нужды висеть в памяти аж до
500 процессам апача.
Мне вот чего еще непонятно:
По top или cat /proc/meminfo видно, что памяти свободной много:
Mem: 10485760k total, 601472k used, 10184288k free, 0k buffers
По top как только доходит до ~620 - начинаются эти вот ошибки с аллокацией памяти.
и тут же видны превышения лимита kmemsize по /proc/user_beancounters
Как-то это между собой коррелирует?
Proxoma добавил 03.02.2010 в 18:47
myhand,
На сервер ломятся юзеры именно в таком количестве.
Как я сказал, на "железном" сервере с 2 (!) Гб памяти те же сайты работают в той же конфигурации.
Тут какие-то VDS-ные заморочки вылезли.
Proxoma, Вы не одиноки. Тут мало кто понимает, что madoff имеет в виду :D
а nginx (в режиме прозрачного прокси) поможет, поскольку возьмет на себя
обработку медленных клиентов. И не будет нужды висеть в памяти аж до
500 процессам апача.
Какой же вы админ если вы не понимаете этого ?
"Cannot allocate memory" - значит, что то через какое-то время упирается в лимит , настраиваемый для виртуального контейнера.
Или TC понимают то что вы пишите, поставьте nginx , это админ пишет TC что бы он nginx ставил, не проще уже написать давайте бабло я вам поставлю, или вы пытаетесь сказать что я както не так юзеру ответил ???.
Смешно админ поддерживает юзера который туго понимает в vps :) ото такой админ nginx и все ваши проблемы решены 😂 всем так и пишите дальше nginx спасёт мир 😂
---
ps у вас много простоев в httpd а должно быть активных максимум 20-25 видемо httpd не настроен, ещё может быть что у них сервер vps умирает и это отражается на всех!
Proxoma, почитайте в вики openvz подробнее про этот параметр (kmemsize). Грубо говоря, он
как минимум линейно растет с числом процессов. При определенном "везении" за
счет "грамотных" настроек хостером ограничений памяти для вашего VPS - и Вы
в этот лимит упретесь.
VPS хостинг у вас по ограничениям не похож на бюджетный - возможно хостер
пойдет Вам навстречу и изменит этот параметр.
А легкий прокси поставить - подумайте. Посмотрите по mod_status. Если у вас
куча апачей сидят в состоянии "W" запихивают контент клиенту - не лучше ли будет,
если они быстро отдадут его nginx-у и займутся другими вещами?
Какой же вы админ если вы не понимаете этого ?
Я не понимаю того, например, зачем вы посоветовали ТС заключить
директивы для prefork в <IfModule>.
Не особо понятно, почему VPS-ка упирается в kmemsize, при этом вагон якобы свободной памяти...
Так чего делать-то?