- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В общем с ростом посещаемость несколько раз в день в error_log появляется ошибка
[Mon Apr 02 21:23:01 2018] [error] server reached MaxClients setting, consider raising the MaxClients setting
соответственно я потихоньку поднимал MaxClients и ServerLimit довел до 32768, через 4 часа появилась ошибка, но при этом апатч не падает и продолжает дальше работать. Решил сегодня вечером поставить 65536, может больше ошибка вылазить не будет. Онлайн бывает доходит до 1000-1500 человек на сайте. Ngnix не предлагайте у меня и апатч спокойно справляется с нагрузкой.
Конфиг:
LimitRequestFieldSize 8192
KeepAlive On
MaxKeepAliveRequests 4096
KeepAliveTimeout 3
<IfModule prefork.c>
StartServers 16
MinSpareServers 8
MaxSpareServers 32
ServerLimit 65536
MaxClients 65536
MaxRequestsPerChild 32768
</IfModule>
Сервер очень мощный MEM 128 GB, CPU 2690 v2 * 2, HDD Samsung NVME SM951 * 2
Все летает проблем вообще ни каких, утечек памяти тоже нет
Команда httpd -V выдает:
Server version: Apache/2.# (Unix)
Server built: Oct 19 2017 16:43:38
Server's Module Magic Number:#
Server loaded: APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
С # я немного подтер значение.
Может есть какое физическое ограничение, или просто не срабатывает MaxClients ?
Нет смысла увеличивать maxclients, дефолтного значения вполне хватает, всё равно сервер больше не переварит, только тормозить будет. Причина у вас либо в ddos атаке, либо то, что под апачем (php) не справляется.
Нет смысла увеличивать maxclients, дефолтного значения вполне хватает, всё равно сервер больше не переварит, только тормозить будет. Причина у вас либо в ddos атаке, либо то, что под апачем (php) не справляется.
Два не тормозит он вообще. А досит Гугл и Яндекс они каждые сутки сканируют по 1 млн страниц судя по логам и статистике.
Вы бы посмотрели сколько один процесс апача жрёт RAM и умножили на Ваше число ServerLimit
Знатное превышение будет
прихлопнет OOM Вам mysql :) (если он есть конечно)
Вы бы посмотрели сколько один процесс апача жрёт RAM и умножили на Ваше число ServerLimit
Знатное превышение будет
прихлопнет OOM Вам mysql :) (если он есть конечно)
Команду не подскажете чтоб не в процентах увидеть, а в МБ
ffreest, RES колонка
Отображает в Кб потребление RAM
ffreest, RES колонка
Отображает в Кб потребление RAM
8200 тогда получается.
Как я понял чтоб проблемы не было надо, что-то делать с этим MaxRequestsPerChild 32768 сперва, а потом уже Maxclient трогать.
MaxRequestsPerChild актуален, когда у Вас что-то из модов течёт по памяти
MaxRequestsPerChild скажет апачу, через сколько запросов - перезапустить процесс
---------- Добавлено 03.04.2018 в 00:43 ----------
Хоть Вы и просили не предлагать nginx, но я бы не был столь категоричен
Возможно у Вас там статики куча, и ещё отдавать apache'м - крайне расточительно по ресурсам сервера
---------- Добавлено 03.04.2018 в 00:46 ----------
8200 тогда получается.
1000 процессов (а лимит у Вас вообще 65К) дадут уже 80 GB занятой RAM
Странно конечно это, поидее конечно не должен ругаться на Maxclient, если бы еще сервак не справлялся или память заканчивалась, но нет все норме. Может реально поставить MaxRequestsPerChild 100 что это даст?
Я тут прочитал ,что нужно снять ограничение на HARD_SERVER_LIMIT 256
варнингов/ошибок не выводит?
+ поставить munin, и графики рисовать для apache_*
особенно важен apache_processes и смотреть изменения во времени
busy/idle/free процессов апача.
ну и стоит server-status смотреть, чем апач занят, когда эта ошибка возникает.
варнингов/ошибок не выводит?
+ поставить munin, и графики рисовать для apache_*
особенно важен apache_processes и смотреть изменения во времени
busy/idle/free процессов апача.
ну и стоит server-status смотреть, чем апач занят, когда эта ошибка возникает.
apachectl configtest выводит
syntax ok