У меня есть сайт на PHP, и если я нажимаю F5 в браузере, то получаю следующую загрузку ЦП:
$ w 11:34:54 up 16 дней, 1 мин, 5 пользователей, средняя загрузка: 90,81, 32,02, 12,57
Это происходит со всех страниц моего сайта! Так что я считаю, что это происходит не из-за алгоритма, а из-за конфигурации Apache? Я не совсем в этом уверен.
Я использую PHP (с codeigniter), mongoDB с одним соединением. Я использую глобальную константу для использования моего соединения и использую его повторно каждый раз. Я не создаю новое соединение для каждого запроса. Почти все веб-страницы отвечают менее чем за 300 мс.
Так он приходит от Apache (и тогда я задаю свой вопрос на правильном сайте stackechange) или он приходит от моего глобального PHP-подключения (и тогда я переключаюсь на stackoverflow)?
Или это происходит из другого параметра? Если это происходит из Apache, есть ли способ ограничить количество одновременных подключений? Потому что загрузка одной и той же страницы снова и снова, не дожидаясь завершения первого запроса, - это неправильное поведение.
Так что кто-то может вывести мой сервер из строя, только нажав F5... Если бы это был DDOS, ладно, но «просто» DOS...
Спасибо вам,
А.
решение1
Вы можете попробовать следующие модули
- mod_evasive(Модуль обхода атак типа «отказ в обслуживании» для Apache)
- mod_limitipconn(Модуль ограничения одновременных подключений для Apache)
- mod_cband(Модуль Apache 2 предназначен для решения проблемы ограничения использования полосы пропускания пользователями и виртуальными хостами.)
Theнитьможет быть также полезно
Еще один момент. Вы можете настроить nginx за apache, так как он имеет очень гибкие возможности ограничения скорости