Хостер прислал уведомление о том, что мой сайт создает слишком большую нагрузку на БД MySQL на сервере... Рекомендуют либо взять более дорогой тариф (по деньгам в принципе приемлемо, но не хочется менять сервер), либо соптимизировать скрипты таким образом, чтобы вписаться в допустимые рамки для моего тарифа. Вот график нагрузки на сервер:
Ограничение моего тарифа - до 50 единиц CPU и до 1000 единиц на MySQL.
Видно, что по нагрузке на CPU еще есть куда расти, а вот по БД - уже давно вышли из зеленой зоны. Желтая зона - это более дорогой тариф, на который предлагают перейти - но и там, как видите, уже стучимся "головой об потолок".
Снижение нагрузки с 14-ого по 20-е сентября (см. снижение на графике) - это результаты некоторых моих действий по оптимизации. А имено - удалил лишние записи в БД (бэкап базы весил 180 Мб, сейчас 100 Мб - т.е. где-то в полтора раза удалось уменьшить размер БД).
Еще совсем недавно - вчера-сегодня (на графике пока, думаю, не отразилось) прошерстил код и сделал следующее:
1) где можно убрал "лишние" запросы к БД (например менюшку со списком категорий раньше из БД подтягивал, сейчас сделал статичным кодом), то же самое сделал по баннерам (список баннеров для показа подтягивался из БД, сейчас просто берется из массива на PHP).
2) заменил в паре мест запросы на более узкие:
было SELECT *
стало SELECT id, title (другие поля реально в тех местах и не использовались)
Вопрос - что бы еще такого можно сделать, чтобы нагрузку на сервер MySQL снизить?