У меня есть несколько веб-сайтов WP, и они получают огромное количество запросов (около 20 тысяч в минуту), например:
www.example.com/adasd-asdasd-asdas-da/
www.example.com/fds-fdsf-dsfds-fds-f/
...
Проблема в том, что это заставляет мою базу данных каждый раз проверять, существует ли запись "adasd-asdasd-asdas-da" или "fds-fdsf-dsfds-fds-f" или... в моей базе данных, и она потребляет много Ресурсы.
Я прочитал сотни ссылок в Google, и все они используют ограничение IP / скорости, что не является решением для меня; Я не могу его использовать. Я видел некоторые блоги, в которых, когда пользователь попадает на неправильную страницу, они перенаправляют пользователя в Google и таким образом избавляются от атаки. Но как проверить каждый запрос в базе данных, не выключая всю систему?
Решить эту проблему действительно сложно, потому что мои законные URL-адреса выглядят так:
www.example.com/how-to-buy-a-flow
www.example.com/make-your-dad-happy
...
У меня уже 19 тысяч сообщений, и каждый раз, когда пользователь отправляет запрос типа www.example.com/fdsfds-fdsfs-dfds
, мне нужно проверить его в базе данных, чтобы узнать, существует ли он.
Я уже использую CloudFlare, который отлично справляется со своей задачей, но я до сих пор не могу понять, как легко проверить, не находится ли запрос в базе данных.