Недавно мы преобразовали наш веб-сайт в https
. После установки и тестирования сертификата мы создали 301 редирект в .htaccess. В течение нескольких дней все шло нормально с незначительным влиянием на производительность.
День 3 или 4 мы столкнулись с OOM
вопросы. В следующие несколько дней мы увидим повторение той же закономерности. Примерно в 9:15 утра (когда наш сервер начинает видеть повышенную нагрузку) использование памяти увеличивалось и часто приводило к прекращению работы memcached или mysql. Это трудно понять, потому что мы увидим гораздо большее использование (согласно аналитике Google) позже в тот же день без каких-либо проблем.
Server Version: Apache/2.4.25 (Unix) OpenSSL/1.0.1e-fips mod_bwlimited/1.4 PHP/5.5.38
Server MPM: prefork
Start servers: 10
Min spare servers: 5
server limit: 256
max request workers: 256
max connections per child: 2500*
keep alive: on
keep alive timeout: 1
Я снизил максимальное количество подключений, потому что мы заметили, что использование памяти на ребенка значительно увеличилось в проблемный период. За htop
ВИЭ на каждого ребенка обычно 25000к. Во время стресса больше 50000к. Так что у меня возникла мысль, что я хочу увеличить частоту порождения новых дочерних процессов. Неясно, имело ли это значение.
Мы проверили все cron
рабочие места, чтобы в стрессовый период ничего особенного не планировалось.
Добавляет ssl
значительно увеличить использование памяти для apache
? Почему только в это конкретное время - даже не в самое загруженное время (хотя, возможно, это время, когда использование растет больше всего).
Обновить. Мы удалили 301 редирект, чтобы окончательно определить, было ли это причиной. Конечно же, сервер справился с сегодняшней суматохой в 9:30, не показав ни малейшей нагрузки на память или процессор. Таким образом, у нас все еще включен https, но мы не уверены, как наши рабочие нагрузки http и https различаются.
Обновление 2. переписать по запросу
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
(изначально было 301 редирект, но отложено решение проблемы с памятью)
Уильям, https определенно увеличит накладные расходы на то, как Apache обслуживает веб-страницы, поэтому я спросил, включили ли вы http / 2, потому что http / 2 намного эффективнее обрабатывает запросы https ... Это также сделает ваш сайт намного быстрее с меньшими требованиями к настройке производительности.
Обязательно посмотрите на это.