Есть скрипт тизерной сети, которая при запросе блока рекламы каждый раз обращается к БД. Это создает большую нагрузку на весь сервер. Собственно вопрос: как можно сделать, чтобы к БД делались запросы не каждый раз, а, например, 1 раз в определенный промежуток времени, и брались из кэша и при необходимости обновлялись?
Сервер: Intel® Core™ i7-3770, ОЗУ 32Гб.
Скорее всего слишком частое обновление данных.
Суть в том, что если вы делаете обновление записи - это относительно сложная операция.
Вместо этого можно складывать в отдельную таблицу временные данные запросами вида:
INSERT DELAYED INTO table (col) VALUES ('val');
Которые будут срабатывать мгновенно, а потом, например, с помощью cron раз в пять минут обновлять таблицу с данными и удалять временные записи.