Есть сайт сообщества автомобилистов.Сделал блок на главной с выводом последних событий на форуме, сначала вроде все было хорошо, но со временем количество тем и комментариев к ним увеличилось и хотя все равно их сравнительно не очень много, но блок очень сильно стал тормозить загрузку страницы. Кэширование решает проблему, но тогда теряется основной смысл этого блока, обновления происходят редко и не видно есть новые обсуждения или нет.В представлении много чего выводится, но вроде как все нужное. Я думаю,если сейчас такие проблемы с производительностью, то что будет если сайт например вырастет и вырастет посещаемость.
Подскажите может я неправильно организовал выход блока или совсем надо, подобные вещи как то по другому выводить?
Скриншот выводимого блока прикрепляю.
Комментарии
Здесь файл.
Я понимаю, что запросов много, но к примеру сайт на ucoz, который у меня раньше был, при таком же выводе информации на бесплатном хостинге, не тормозил подобным образом, у других людей на сайтах я так же видел подобные блоки с выводом последних обновлений, так же нормально было при загрузке, жаль, что друпал не позволяет выводить так как я хочу. Теперь думаю если этот блок убрать, то как можно реализовать, что то подобное, но при меньших затратах ресурсов?
Как думаете, возможно сделать без помощи Views, что бы не тормозил сайт или друпал все равно будет долго обрабатывать подобное количество запросов?
Фигня ваш блок, не слушайте хулигана
От него я уже получал дельные советы, поэтому не доверять нет оснований.
Может у вас какое то свое видение ситуации, что проблема в хостинге или еще в чем то?
https://www.drupal.org/project/ajaxblocks
Мне слабо верится, что список 10 последних комментов, пусть и с джойнами может поглощать все ресурсы
Там скорее всего с mysql-server проблемы.
я так понимаю, что это этот форум http://friends-motors.com/
только я так понимаю, что там проблема не только с этим блоком, страницы из кеша отдаются нормально, а некешированные очень медленно, к примеру вот такая страничка http://friends-motors.com/forums/%D0%BF%D0%BE%D0%B4%D0%B2%D0%B5%D1%81%D0... до попадания в кеш грузилась больше 6 секунд
Да, совершенно верно. Вы просто волшебник.Вроде бы я ссылку не оставлял.
Ссылка почему то не корректно вставилась.
Если тупит сервер, то выходит это проблема с хостером? Дело в том, что хостинг вроде бы не плохой, на нашем форуме много про него хорошего пишут. Я к ним обращался с вопросом о том, что может более дорогой тариф необходимо выбрать, но мне ответили, что не поможет, проблема с самим выводом, очень он сложный.
ну он я так понял на патруле
тут надо обращаться к специалисту по advanced forum - RxB
Все правильно на патруле.
Спасибо за рекламу, но с семёрочным форумом у меня опыта поменьше пока, хотя подходы для оптимизации там примерно такие же
Если на Патруле, то дело не в хостинге. Может имеет смысл выгружать только заголовки новых сообщений без дат и авторов? Запрос будет работать очень быстро и новых сообщений поместится больше.
Блоки с вьюхами всегда меня добивали. Страница без блока грузится нормально, если вставить любую вьюху, хоть с последними коментами, хоть с популярными нодами... и не важно какое количество выводить. Тормозить будет!!! И форум тут вообще ни причем. Единственный способ, который я нашел для себя оптимальным, это в самой вьюхе настроить кеширование (хоть самое минимальное).
Думаю, что придется уменьшать данные в выводе, хотя хотелось бы оставить так как есть, еще есть надежда на https://www.drupal.org/project/ajaxblocks
ну а дальше только на RxB
Да судя по количеству разделов форума - как раз таки форум и виновен.
Что тебе запрос без плана?
Ребята, вроде вот этот модуль неплохая вещь https://www.drupal.org/project/ajaxblocks понятно, что не панацея иначе бы все его использовали. Подскажите какие минусы у блока в чем могут возникнуть проблемы?
Спасибо за ответ.
Тогда в чем же его плюсы?
А если поставить в самом представлении
Блок: Использовать AJAX для загрузки, если доступно
Может дать положительный результат?
Вам причину надо лечить, а не следствие
Причина я так понимаю, в том, что Views создает тяжелые запросы, вылечить можно путем уменьшения вывода данных или кэшированием блока.Возможно помогла бы оптимизация блока.
И все таки аякс в представлении мог бы уменьшить время загрузки блока?
Дайте скрин информации Devel. чтоб сказать что есть ресурсы)
Только кеш..
8 пунктов ложат mysql))
Пффф, я вот тоже автотематикой интересуюсь профессионально, и без труда нашел Ваш сайт.
Тоже бы посмотрел запросы Девела.
Спасибо за внимание к моей проблеме. По мере продвижения буду рассказывать в чем проблема.
А пока думаю, что проблема в том, что на сайте целая куча модулей, а разделов форумов просто тьма.Причем не поверите, все в ручную добавлял.
Как говорят психологи - проблем не существует, они все надуманы-))
А действительно ли пользователям Вашего сайта нужна ВСЯ информация, выводимая в этом блоке.
А действиельно ли пользователям Вашего сайта нужен этот блок?
Если информация всетаки нужна, насколько критичен размер периода ее обновления?
Если понимаете, для чего пользователям нужен этот блок, может можно решить его задачи как-то подругому и даже лучше?
Скажем нет views. Положим views на полку.
"
Я пробовал убрать часть выводимых данных в блоке, но мне не нравится, что получается, так как есть сейчас самый оптимальный вариант, делал кэширование, так пользователи прашивают где мои сообщения на главной.Все привыкли, заходят на главную и оттуда все обновления смотрят. Понятно, что надо как то по другому реализовать
1 вариант, попробовать написать такой запрос ручками (снипет), возможно у Вас получится лучше. Или переходить на тариф с неограниченнымт ресурсами процессора.
Семёрочный вьюс наше всё.
Подождём, что автор скажет.
Никто из теоретиков не угадал, кстати.
а вообще если говорить именно про главную страницу, то там таки выводится семь вьюх
Ну не знаю как остальные шесть, а седьмая - 6 rows in set (15.49 sec)
так а сам запрос какой? или он у тебя в буфер обмена не помещается?
План запроса не влез в мой 24-дюймовый монитор, это о многом говорит
Так было, 15.5 секунд на запрос.
+----+-------------+-----------------------------------------------------------------+--------+------------------------------------+------------------+---------+--------------------------------------------------------------------+-------+----------------------------------------------+
| id | select_type | TABLE | TYPE | possible_keys | KEY | key_len | REF | ROWS | Extra |
+----+-------------+-----------------------------------------------------------------+--------+------------------------------------+------------------+---------+--------------------------------------------------------------------+-------+----------------------------------------------+
| 1 | PRIMARY | node | REF | PRIMARY,node_status_type,node_type | node_status_type | 102 | const,const | 974 | USING WHERE; USING TEMPORARY; USING filesort |
| 1 | PRIMARY | users_node | eq_ref | PRIMARY | PRIMARY | 4 | u9163_main.node.uid | 1 | |
| 1 | PRIMARY | node_comment_statistics | eq_ref | PRIMARY | PRIMARY | 4 | u9163_main.node.nid | 1 | |
| 1 | PRIMARY | comment_node_comment_statistics | eq_ref | PRIMARY | PRIMARY | 4 | u9163_main.node_comment_statistics.cid | 1 | |
| 1 | PRIMARY | <derived2> | ALL | NULL | NULL | NULL | NULL | 10837 | |
| 1 | PRIMARY | taxonomy_term_data_node__taxonomy_term_hierarchy | REF | PRIMARY | PRIMARY | 4 | taxonomy_term_data_node.tid | 1 | USING INDEX |
| 1 | PRIMARY | taxonomy_term_data_taxonomy_term_hierarchy | eq_ref | PRIMARY | PRIMARY | 4 | u9163_main.taxonomy_term_data_node__taxonomy_term_hierarchy.parent | 1 | |
| 1 | PRIMARY | taxonomy_term_data_taxonomy_term_hierarchy__taxonomy_vocabulary | eq_ref | PRIMARY | PRIMARY | 4 | u9163_main.taxonomy_term_data_taxonomy_term_hierarchy.vid | 1 | |
| 1 | PRIMARY | taxonomy_term_data_node__taxonomy_vocabulary | eq_ref | PRIMARY | PRIMARY | 4 | taxonomy_term_data_node.vid | 1 | |
| 1 | PRIMARY | ncs_users | eq_ref | PRIMARY | PRIMARY | 4 | u9163_main.node_comment_statistics.last_comment_uid | 1 | |
| 2 | DERIVED | tv | const | PRIMARY,machine_name | machine_name | 767 | | 1 | USING INDEX |
| 2 | DERIVED | td | REF | taxonomy_tree,vid_name | taxonomy_tree | 4 | const | 4998 | |
| 2 | DERIVED | tn | REF | term_node | term_node | 4 | u9163_main.td.tid | 4 | |
+----+-------------+-----------------------------------------------------------------+--------+------------------------------------+------------------+---------+--------------------------------------------------------------------+-------+----------------------------------------------+
13 ROWS IN SET (0.07 sec)
Виктор (RxB) просто творит чудеса. Views с тем же количеством информации теперь работает очень хорошо. Я так понимаю, что с моей стороны была не правильно построена структура вывода этой вьюхи.
Я так думаю, что чудеса там были сотворены первоначально как раз таки.
Так оно и есть, похоже чудеса я начал сотворять еще при установке друпала, не говоря уже про структуру и все прочее.