Задача
Недавно спрашивал о
настройке кеша на php. Нужно это было, чтоб уменьшить нагрузку на MySQL, т.к. идет DDoS на сайте (по 40к коннектов за раз).
На скорую руку сделал этот кэш. При первом заходе на страничку c ID = 1500 — берет её из БД, кидает копию страницы на хард под именем 1500.html. Сверху в коде стоит проверка — если существует файл 1500.html, делает
include('cache/ID.html');
die();
Нагрузка на MySQL дейтвительно упала, но теперь в топе куча процессов php-cgi с большим процентом нагрузки. Соответственно, сайт лежит.
P.S. Фильтрами на уровне ОС от ддос отбиться не получается. Какой-то там хитрый ддос.
Вопрос
Я так понимаю, php парсит index.php и отсюда идет нагрузка. Может я как-то не так разместил проверку на существование файла 1500.html?
Как лучше сделать, чтоб при наличии кеша странички на харде была минимальная нагрузка на php?