Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 62 Ответов
  • 1400 Просмотров
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Добрый день, уважаемые all!
У меня около месяца подряд несколько сайтов стало тормозить при открытии.
Сайты на vps freehost.com.ua  Некоторые запросы выполняются очень долго 5-10-20-30 секунд. Раньше такого не было.
Хостер ссылается на то, что помочь может только разработчик сайта, с себя вину снимает полностью.
Один из сайтов - http://biblionet.com.ua/
Яндекс - метрика сайта : https://metrika.yandex.ru/stat/monitoring_results?id=23847346
Включил кеш на сайтах, оптимизировал таблицы. Помогает не особо.
Пишу логи медленных запросов. Пример - 3 запроса из БД.
Спойлер
[свернуть]
Подскажите, что можно сделать в данной ситуации.
« Последнее редактирование: 19.08.2016, 12:06:09 от Sergio111 »
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

voland

  • Профи
  • ********
  • 9383
  • 420
  • Эта строка съедает место на вашем мониторе
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #2 : 19.08.2016, 12:57:35 »
Индексы есть?
Откровенно говоря, так далеко я не влезал. Но индексы таблиц, безусловно, есть -  стандартные для Joomla 2.5 . К примеру, для таблицы
"content"
есть индексы
PRIMARY   
idx_access   
idx_checkout
idx_state   
idx_catid   
idx_createdby
idx_featured_catid
catid   
idx_language
idx_xreference
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

voland

  • Профи
  • ********
  • 9383
  • 420
  • Эта строка съедает место на вашем мониторе
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #3 : 19.08.2016, 13:04:24 »
Сайты на vps freehost.com.ua
Ой. Бесплатная что ли?
Сорри, не заметил
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #4 : 19.08.2016, 13:25:23 »
Ой. Бесплатная что ли?
Сорри, не заметил
Ни в коем случае, не бесплатная.
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

draff

  • Практически профи
  • *******
  • 2746
  • 170
  • step by step
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #5 : 19.08.2016, 14:38:22 »
А полная версия Joomla ?
Цитировать
для Joomla 2.5
Патч безопасности от декабря 2015 г. установлен ?
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #6 : 19.08.2016, 15:26:20 »
А полная версия Joomla ?Патч безопасности от декабря 2015 г. установлен ?
Версия Joomla - самая новая. Есть обновления для следующих компонентов и плагинов:
JCE Editor   
JComments   
JComments - Social Login
JComments Latest   
jlvkgroup   
Sourcerer
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #7 : 19.08.2016, 15:43:24 »
Странно, версия Joomla написана  - самая новая, а по одному из советов в интернете - ввёл адрес - http://biblionet.com.ua/language/en-GB/en-GB.xml
написано - <version>2.5.19</version>
Обновиться принудительно? Перезаписью файлов поверх старых?
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

draff

  • Практически профи
  • *******
  • 2746
  • 170
  • step by step
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #8 : 19.08.2016, 16:03:14 »
Версия Joomla - самая новая. Есть обновления для следующих компонентов и плагинов:
Интересно какая новая. А точный ответ можно узнать в админке Joomla- Информация о системе
п.с.
а патч- тишина?
« Последнее редактирование: 19.08.2016, 16:21:30 от draff »
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #9 : 21.08.2016, 20:19:10 »
Версия Joomla!   Joomla! 2.5.27 Stable [ Ember ] 30-September-2014 14:00 GMT
Подскажите, пожалуйста, какой патч нужен?


Интересно какая новая. А точный ответ можно узнать в админке Joomla- Информация о системе
п.с.
а патч- тишина?

Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

draff

  • Практически профи
  • *******
  • 2746
  • 170
  • step by step
*

flyingspook

  • Профи
  • ********
  • 3610
  • 236
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #11 : 22.08.2016, 16:07:40 »
Подскажите, пожалуйста, какой патч нужен?
И уже возможно что поздно.
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #12 : 23.08.2016, 09:46:42 »
Поставил патч - не помогло. Всё равно запросы выполняются очень долго. Этот Select огромный с кучей - 7 штук - LEFT JOIN выполняется по 20 секунд - тот select, который второй в первом моём посте. Подскажите, пожалуйста, что делать, как его оптимизировать.
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #13 : 23.08.2016, 11:21:57 »
Экспериментирую с запросом к БД.
Код
SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.language, a.checked_out, a.checked_out_time, a.catid, a.created, a.created_by, a.created_by_alias, CASE WHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, uam.name as modified_by_name,CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END as publish_up,a.publish_down, a.images, a.urls, a.attribs, a.metadata, a.metakey, a.metadesc, a.access, a.hits, a.xreference, a.featured, LENGTH(a.fulltext) AS readmore,CASE WHEN badcats.id is not null THEN 0 ELSE a.state END AS state,c.title AS category_title, c.path AS category_route, c.access AS category_access, c.alias AS category_alias,CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name END AS author,ua.email AS author_email,(
SELECT MAX(contact.id) AS id
FROM hdsau_contact_details AS contact
WHERE contact.published = 1 AND contact.user_id = a.created_by) as contactid,parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias,ROUND(v.rating_sum / v.rating_count, 0) AS rating, v.rating_count as rating_count,c.published, CASE WHEN badcats.id is null THEN c.published ELSE 0 END AS parents_published
FROM hdsau_content AS a
LEFT JOIN hdsau_content_frontpage AS fp ON fp.content_id = a.id
LEFT JOIN hdsau_categories AS c ON c.id = a.catid
LEFT JOIN hdsau_users AS ua ON ua.id = a.created_by
LEFT JOIN hdsau_users AS uam ON uam.id = a.modified_by
LEFT JOIN hdsau_categories as parent ON parent.id = c.parent_id
LEFT JOIN hdsau_content_rating AS v ON a.id = v.content_id
LEFT OUTER JOIN (SELECT cat.id as id FROM hdsau_categories AS cat JOIN hdsau_categories AS parent ON cat.lft BETWEEN parent.lft AND parent.rgt WHERE parent.extension = 'com_content' AND parent.published != 1 GROUP BY cat.id ) AS badcats ON badcats.id = c.id
WHERE a.access IN (1,1) AND c.access IN (1,1) AND CASE WHEN badcats.id is null THEN a.state ELSE 0 END = 1 AND (a.catid = 10 OR a.catid IN (
SELECT sub.id
FROM hdsau_categories as sub
INNER JOIN hdsau_categories as this ON sub.lft > this.lft AND sub.rgt < this.rgt
WHERE this.id = 10)) AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2016-08-22 19:30:54') AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2016-08-22 19:30:54')
ORDER BY    CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END  DESC ,  a.created LIMIT 180, 24;
Он выполняется, к примеру,  4.3035 сек.
Убираю в запросе - в последней строке
Код
ORDER BY    CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END  DESC ,  a.created 
Запрос выполняется 0.0134 сек. В 320 раз быстрее.
Хотя записи, само собой, получаются  расположены не в том порядке. Скажите, можно ли  и запрос ускорить, и порядок оставить такой же, как в исходном запросе?
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

robert

  • Профи
  • ********
  • 4009
  • 371
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #14 : 23.08.2016, 11:54:24 »
Много JOIN и подзапросов. Имеет смысл пробовать разбить на простые запросы.
Код
ORDER BY    CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END  DESC ,  a.created 
Что за дурацкая сортировка? В каком порядке хотите вывести записи?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #15 : 23.08.2016, 12:34:40 »
Много JOIN и подзапросов. Имеет смысл пробовать разбить на простые запросы.Что за дурацкая сортировка? В каком порядке хотите вывести записи?
Уважаемый robert, это не я придумываю сортировку. Это пример реального запроса, на котором тормозит сайт. Я зашел в панель MySQL и стал экспериментировать с этим запросом, чтобы понять, какая его часть оказывает критичное влияние на быстродействие. Результат я описал. Я был бы рад, чтобы кто-нибудь мне посоветовал как разбить данный запрос на 2 части - сначала, допустим, select без order, потом следующий - сортировка. Беда в том, что я плохо представляю как мне сделать временную таблицу, потом запрос к ней. И совершенно не понимаю, в каком файле Joomla 2.5.27 мне вносить эти изменения. Буду благодарен услышать любые советы по этому поводу.
« Последнее редактирование: 23.08.2016, 12:41:51 от Sergio111 »
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #16 : 23.08.2016, 12:39:47 »
И уже возможно что поздно.
На счёт поздно - не понимаю, почему. Есть база данных, есть к ней запросы, которые тормозят. Думаю, что не поздно ускорить выполнение этих запросов.
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

robert

  • Профи
  • ********
  • 4009
  • 371
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #17 : 23.08.2016, 14:06:01 »
в каком файле Joomla 2.5.27 мне вносить эти изменения
Хм, это, как выяснилось, родной запрос Joomla, так что вносить будете в ее ядро.

Не могу понять, зачем вместо
Код: php-brief
ORDER BY publish_up DESC , a.created
написали такое
Код
ORDER BY    CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END  DESC ,  a.created 
?

Кстати, у вас там материалов тысяч 100, что ли?
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

zomby6888

  • Живу я здесь
  • ******
  • 1484
  • 167
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #18 : 23.08.2016, 15:56:29 »
Убираю в запросе - в последней строке
Код
ORDER BY    CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END  DESC ,  a.created 
Запрос выполняется 0.0134 сек. В 320 раз быстрее.
Хотя записи, само собой, получаются  расположены не в том порядке. Скажите, можно ли  и запрос ускорить, и порядок оставить такой же, как в исходном запросе?

Индексы стоят на эти поля?
интернет-блог: http://websiteprog.ru
*

draff

  • Практически профи
  • *******
  • 2746
  • 170
  • step by step
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #19 : 23.08.2016, 16:28:43 »
Поставил патч - не помогло. Всё равно запросы выполняются очень долго.
Патч не для оптимизации сайта, а как проверка на наличие уязвимости движка сайта.
 А если не был установлен патч, то вероятно был взлом сайта. И параллельно с выполнением запросов к БД, могут создаваться еще процессы, которые и грузят хостинг.
*

flyingspook

  • Профи
  • ********
  • 3610
  • 236
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #20 : 23.08.2016, 16:40:54 »
Нам всем не понятно, что у вас и как выполнено на сайте.
Из опыта, более 5000 материалов или хорошая посещаемость + комментарии в материалах, оптимизируется увеличением железа, как вариант обновление на последнюю актуальную версию 3.6.*, еще не слышал что бы кто то оптимизировать пытался не поддерживаемые версии движка, смысла в этом не вижу.
Железо бралось вплоть до дедиков с 48гб озу
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #21 : 23.08.2016, 19:17:25 »
Хм, это, как выяснилось, родной запрос Joomla, так что вносить будете в ее ядро.

Не могу понять, зачем вместо
Код: php-brief
ORDER BY publish_up DESC , a.created
написали такое?

Кстати, у вас там материалов тысяч 100, что ли?
Материалов 1410 всего в таблице content.
написали такое? - это разработчики, не я.
"Хм, это, как выяснилось, родной запрос Joomla, так что вносить будете в ее ядро." -  в каком файле формируется этот запрос, как понять?
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #22 : 23.08.2016, 19:18:51 »
Индексы стоят на эти поля?
Индексов на эти поля нет . Сделал индексы 2 штуки - на поля created и publish_up . Не помогло, запрос выполняется столько же времени.
Да и эти индексы - по 1410 Уникальных элементов, как и записей в таблице.
Нет, однозначно надо делать что-то с запросом.
« Последнее редактирование: 23.08.2016, 19:23:10 от Sergio111 »
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #23 : 23.08.2016, 19:20:54 »
Патч не для оптимизации сайта, а как проверка на наличие уязвимости движка сайта.
 А если не был установлен патч, то вероятно был взлом сайта. И параллельно с выполнением запросов к БД, могут создаваться еще процессы, которые и грузят хостинг.

Может, Вы правы, хотя вряд ли... Небольшое изменение запроса  - и он выполняется мгновенно.
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

voland

  • Профи
  • ********
  • 9383
  • 420
  • Эта строка съедает место на вашем мониторе
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #24 : 23.08.2016, 20:16:59 »
Надо изучать запрос поподробнее.
Потюнить мускуль возможно будет достаточно - размер временных таблиц, их расположение и всё такое.
*

zomby6888

  • Живу я здесь
  • ******
  • 1484
  • 167
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #25 : 24.08.2016, 05:13:12 »
вот еще https://habrahabr.ru/post/138163/ может поможет
интернет-блог: http://websiteprog.ru
*

Sergio111

  • Осваиваюсь на форуме
  • ***
  • 172
  • 0
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #26 : 24.08.2016, 08:17:09 »
вот еще https://habrahabr.ru/post/138163/ может поможет
Спасибо за совет, попробовал - не помогло.
Зарабатываю 46$ в день на своих сайтах <a target="_blank" href="http://www.sape.ru/r.11b5f3471a.php">sape</a><br/>
Почему ты не зарабатываешь? Помогу зарегистрированым от меня советами.
*

voland

  • Профи
  • ********
  • 9383
  • 420
  • Эта строка съедает место на вашем мониторе
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #27 : 24.08.2016, 08:37:08 »
А что там с версией движка?
*

robert

  • Профи
  • ********
  • 4009
  • 371
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #28 : 24.08.2016, 11:43:25 »
Запросы формируются здесь: /components/com_content/models/articles.php и /components/com_content/helpers/query.php.
Но я бы не торопился править движок: у вас записей немного и не только у вас стоит Joomla, но почему-то у других такой проблемы не возникло. Как я понял, вы прогоняли запросы прямо в админке БД - значит, движок со своей версией и патчами тут пока ни при чем. Дело скорее всего в железе, конфигурации сервера, настройке БД и т.д. Напрягите хостера.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

zomby6888

  • Живу я здесь
  • ******
  • 1484
  • 167
Re: тормоза по 5-20 секунд на sql запросах
« Ответ #29 : 24.08.2016, 14:00:44 »
Разверните бекап базы и сайта на локальном сервере. Будет видно если проблема в таблицах или настройках мускуля.
интернет-блог: http://websiteprog.ru