0 Пользователей и 1 Гость просматривают эту тему.
  • 38 Ответов
  • 5525 Просмотров
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Оптимизация MySQL запросов
« : 28.08.2013, 19:33:23 »
Доброго времени суток! Взял на обслуживание сайт на Joomla 2.5 c несколькими тысячами статей. Хостер заваливает письмами о превышении нагрузки SQL. Одно из них под катом.

Как понять, что именно нагружает базу? SQL запросы до этого не изучал.

Сообщение от хостера:

Спойлер
[свернуть]
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Оптимизация MySQL запросов
« Ответ #2 : 28.08.2013, 19:35:58 »
PS. А это вы очень погорячились..
несколькими тысячами статей.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #3 : 28.08.2013, 19:40:33 »
Всё так плохо?
А если закешировать все нафиг, включая запросы к SQL?

А переезд на К2 может помочь?
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #5 : 02.09.2013, 10:53:09 »
Включил gzip сжатие страниц, кеширование(плагин кеширования был отключен почему-то, включил) выставил 60 минут, убрал 10 тысяч редиректов и выключил плагин редиректов, сделав одну страницу 404. Удалил из базы данные, оставшиеся от Joomla 1.5.
После этого сайт вешает базу каждые 5 минут.  :o
Хотя в логах хостера медленные запросы, которые раньше были причиной, исчезли.
WTF?
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Оптимизация MySQL запросов
« Ответ #6 : 02.09.2013, 11:27:22 »
Наверно стоит задуматься о более мощном хостинге.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #7 : 02.09.2013, 11:34:14 »
тоже так думал. заказчик хвалит хостинг "Джино", на котором у него премиум аккаунт. Я с джинами не работал, про их мощность не знаю.
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Оптимизация MySQL запросов
« Ответ #8 : 02.09.2013, 11:57:02 »
Интересно сколько это добро стоит в месяц. Если хвалит, то почему падает?
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #9 : 02.09.2013, 12:18:14 »
8000 статей, 10000 посещений в сутки. Хватает ли для такого возможностей хостинга и Joomla - трудно сказать. Жесткий лимит CPU у него - 30%, времени запросов - 150 с.
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Оптимизация MySQL запросов
« Ответ #10 : 02.09.2013, 13:45:59 »
Думаю, конструкторы контента тут не помогут. Прямой путь на vps, которого хватит.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #11 : 06.09.2013, 20:10:01 »
Уговорил заказчика переезжать на vds. Даже согласны на выделенный сервер (в ближайшем будущем планируют ещё три высоконагруженных проекта.)
Большая просьба к знающим и опытным: подскажите, какие параметры железа выбрать под указанные выше нагрузки?
И вторая маленькая просьба: какие компании посоветуете, чтобы грамотная русская техподдержка была?
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Оптимизация MySQL запросов
« Ответ #12 : 06.09.2013, 20:50:51 »
А на какую цену вы рассчитываете?
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Оптимизация MySQL запросов
« Ответ #13 : 06.09.2013, 20:57:10 »
В подписи.
ТП Земля или  выше.
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Оптимизация MySQL запросов
« Ответ #14 : 06.09.2013, 21:08:46 »
Ну если так подходить к делу, то у меня в подписи две последние ссылки. На последнем точно тормозить не будет и не нужно нанимать настройщика. Сами неплохо делают, только попросить надо + сеть доставки контента к заказу.
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #16 : 07.09.2013, 12:09:21 »
референтных ссылок накидали )) ну я так и рассчитывал. Сумма до 3000 в месяц. Присматриваемся к fornex.com 2 Ггц 2 Гб RAM. Должно заработать, как считаете?
wishlight, как на fornex.com с техподдержкой? она русская и добрая? И что именно у них входит в базовое администрирование?
Спасибо.
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Оптимизация MySQL запросов
« Ответ #17 : 07.09.2013, 12:13:32 »
fornex - поддержка русская. Бесплатное базовое администрирование. Про доброту не знаю. Хотя хостпро лучше определенно.
*

voland

  • Легенда
  • 11031
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Оптимизация MySQL запросов
« Ответ #18 : 07.09.2013, 12:30:57 »
В любом случае лучше нанять админа - поставить munin, настроить размер временных таблиц, переопределить tmpfs в оперативку - на этом можно в десятки раз ускорить в данном случае.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #19 : 09.09.2013, 16:11:50 »
Выбираем между http://fastvps.ru/ и https://fornex.com/. Первые дешевле, вторые как-то с виду серьезней. И техподдержка форнекса отвечает в течении нескольких минут. Что посоветуете?
*

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Оптимизация MySQL запросов
« Ответ #20 : 09.09.2013, 16:24:07 »
fornex для меня. fastvps показались грубоватыми в общении.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #21 : 10.09.2013, 16:48:22 »
Заказали сервер с настройкой на fornex. В это время старый хостер заблокировал аккаунт и прислал письмо следующего содержания:

Спойлер
[свернуть]

Переезд на vps ТОЧНО? решит проблему с загрузкой, или всё-таки тут есть какой-то косяк?
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Оптимизация MySQL запросов
« Ответ #22 : 10.09.2013, 16:56:47 »
Этот сайт создавался изначально на J2.5 или была миграция с предыдущих версий?
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #23 : 10.09.2013, 16:57:23 »
была миграция с полторашки, с виду довольно кривая
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Оптимизация MySQL запросов
« Ответ #24 : 10.09.2013, 17:26:38 »
Проверьте таблицу #_assets. Там не должно быть более одной записи с parent_id и level c 0. Также есть и др. условия. Возможно ваш случай. Для чтения http://docs.joomla.org/Fixing_the_assets_table. Если действительно повреждена, то восстановите ее. Инструкции по ссылке.
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #25 : 10.09.2013, 17:32:09 »
спасибо, посмотрю
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #26 : 23.09.2013, 09:44:07 »
Посмотрел инструкцию, в таблице #_assets не было ничего криминального, но я повелся на пункт "If you have any articles or categories not in the asset table then you have a broken asset table." Поскольку статей на сайте более 8000, и в корзине я нашёл какие-то старые и неудаляемые, принял решение перелопатить таблицу по-полной. В итоге обновил структуру категорий, разбил статьи так, чтобы в одной категории не было больше 200 штук, заменил для всех статей алиасы на номер id, поправил ссылки на сайте и включил кеширование на 300 минут (сайт обновляется раз в неделю, можно и больше выставить).
Как только закончил переносить статьи, нагрузка процессора упала с 98-100% до 60-80% и стабильно, без пиков, держится на этом уровне. Когда никто не шарится в админке (у меня там под одним аккаунтом сидят топ-менеджер. ген.директор и просто директор), процессора жрет и того меньше - 30-60%. В общем, пока даже не пригодились хаки Joomla на отключение количества хитов для статьи и проверку на даты с точностью до секунды.

НО! Теперь сервер расходует много памяти. До оптимизации MySQL - скачками 0,8-1 Гб, после - 1,3-1,5 Гб, причем держится почти на одном уровне, независимо от времени суток и посетителей. Вверх не скачет, но напрягает, потому что непонятно. Это нормально или нет?
Вот картинка:

*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Оптимизация MySQL запросов
« Ответ #27 : 23.09.2013, 20:44:37 »
Уточните, вы уже на VPS? Если да, вручную очистите папку cache и исправьте скриптом таблицу assets (большой сайт), скрипт по ссылке:
http://forum.joomla.org/viewtopic.php?p=2741024#p2741024 (бэкап сайта перед этим сделайте).
« Последнее редактирование: 23.09.2013, 21:01:41 от capricorn »
*

kapitansen

  • Захожу иногда
  • 51
  • 0 / 0
Re: Оптимизация MySQL запросов
« Ответ #28 : 24.09.2013, 11:55:42 »
Да, я уже на VPS. Папку почищу, скрипт запускать из корня сайта? никаких переменных в нем менять не нужно?
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Оптимизация MySQL запросов
« Ответ #29 : 24.09.2013, 13:16:29 »
Можно и из корня. Не знаю, как у вас настроен php -поэтому лучше назначьте ему владельца и группу apache. при необходимости добавьте в нем только php после <?.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Оптимизация сайта

Автор joni

Ответов: 0
Просмотров: 709
Последний ответ 22.07.2023, 17:10:11
от joni
Превышено допустимое количество запросов

Автор Serhio

Ответов: 6
Просмотров: 1827
Последний ответ 28.02.2017, 23:41:33
от insaider_kr
Оптимизация поддоменов

Автор edem-caffe

Ответов: 7
Просмотров: 953
Последний ответ 14.12.2015, 15:50:43
от CaHeK_pk
Зависает сайт и много запросов к БД

Автор Azizkz

Ответов: 2
Просмотров: 1839
Последний ответ 16.10.2015, 12:33:20
от Azizkz
MySQL, HTML

Автор valesp

Ответов: 4
Просмотров: 1147
Последний ответ 18.08.2015, 16:46:53
от SeBun