Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Мастерхост и MySQL

Пришла предъява от мастерхоста:

Вас приветствует компания .masterhost!

Уведомляем Вас, что работой базы данных MySQL *** создается повышенная нагрузка на
сервер баз данных. Примеры запросов находятся в прикрепленном файле.

Оптимизируйте, пожалуйста, Ваши скрипты, SQL-запросы и дайте нам знать о результатах.

Например, Вы можете использовать метод EXPLAIN для выяснения "тяжелых" запросов и создание
индексов (CREATE INDEX), тем самым снизив нагрузку на базу данных.

Обращаем Ваше внимание, что при сохранении нагрузки, мы будем вынуждены заблокировать
Вам услугу MySQL.


В приложенном файле такие вещи написаны:
delete from os_sessions where expiry < '1330420913';

delete from os_sessions where expiry < '1330420527';

delete from os_sessions where expiry < '1330420332';

delete from os_sessions where expiry < '1330420119';

delete from os_sessions where expiry < '1330420041';

delete from os_sessions where expiry < '1330419920';

delete from os_sessions where expiry < '1330419724';

delete from os_sessions where expiry < '1330419593';

delete from os_sessions where expiry < '1330419448';

delete from os_sessions where expiry < '1330418981';


Вопрос: это решаемо или все же переезжать?


вы где храните сессии: в файлах или в базе данных?


Приложенный кусок лога говорит о том, что некоторый запрос (совсем не тяжелый), выполняется с интервалом 100 - 200 секунд. Как такое может создавать повышенную нагрузку, совсем непонятно.
Попробуйте у них спросить.

У меня как-то было подобное, потом оказалось, что у них ошибка какая-то была...

Можно также попробовать переключить хранение сессий на файлы, но вряд ли это что-то даст.



вы где храните сессии: в файлах или в базе данных?

в config.php когда-то зачем-то (не помню уже) прописывал:
define('STORE_SESSIONS', 'mysql');

сейчас бэкапил базу, обратил внимание на строчку:
Обработка таблицы `os_sessions` .
то есть объем ее какой-то очень офигенный

предлагаете перевести сессии обратно в файлы?


Очень странно, не должна эта таблица быть такой большой.

Можно еще попробовать выполнить SQL запрос


alter table os_sessions add index iexpiry (expiry)


Можно также попробовать  эту таблицу очистить.



Очень странно, не должна эта таблица быть такой большой.

какая есть :)

Можно еще попробовать выполнить SQL запрос

alter table os_sessions add index iexpiry (expiry)


а вот это помогло. запрос "select expiry from os_sessions;" до этого занимал больше 7 секунд, а теперь 0,05 секунд.
надеюсь, больше предъяв не будет. большое спасибо :)


Но лучше перевести на фаилы чтобы проблем не было!



Но лучше перевести на фаилы чтобы проблем не было!

только надо значала вспомнить, зачем я их в базу перевел. чтобы других проблем не возникло


Источник



Если же вас интересует аренда серверов с 1гб/с и неограниченым траффиком, то на сайте provisov.net можно узнать цены.
Copyright ShopOS