Еще раз добрый день,
На базе Drupal 7 мною была создана CRM для транспортной компании. CRM - это прежде всего таблицы, а таблицы - это Views. Так вот, по ходу производства стало обнаруживаться, что некоторые страницы(вьюхи) открываются по 30-40 секунд.
Я понимаю, что вывод данных, тем более организованных на базе связей с другими сущностями, очень сложен. Отсюда и скорость.
Кэшировать вьюхи на таком многопользовательском сайте смысла нет, поскольку это серьезно испортит работу. Существуют ли способы оптимизации и ускорения Drupal 7? И если да, то какие?
Большое спасибо.
Ответы
Присоединяюсь к ответам выше, если не использовать кеширование views то нет ничего лучше кастомных SQL запросов.
смотрите что тормозит - запрос, рендеринг, entity_load, ещё что-то
дальше дебагер, профайлер, explain
советовать что-то конкретное бессмысленно
Ну да, надо смотреть что тормозит. Но как правило это выстроенные Views адовые SQL-запросы. Так что придется вывод данных ручками писать и причём оптимизировать его по полной. Ну а в остальном вроде народ правильно расписал.
Мной была создана CRM... судя по вопросам вы использовали сборку CRM на Друпал... что использовали ERPAL или CiviCRM? где лежит все что сделали? на локалке? или ??? отсюда и будут ответы а вооще увиличение производительности сервера ведет к производительности Друпал - это закон!
Да, попробуйте хотя бы один views, который тормозит, реализовать через руками, через db_select + вывод таблицы руками.
И посмотрите разницу во времени исполнения.
И её практически не будет.
Пожалуй соглашусь. Как я в комментарии к вопросу написал, прирост будет заметный только в случае кастомной таблицы и отказе от нод. Сами запросы Views генерирует очень чистые и самодельные ничем лучше не станут. Уже прошли те времена кода вьюсы генерели "грязь". Вы включите тебаг и посмотрите какие запросы он выдает, по ним учиться можно.
Привет.
Если ноды, которые используются для данных, не критичны, имеет смысл создать свой кастом модуль, в котором описать таблицу, сделать формы для редактирования и добавления данных. Кастомные таблицы _легко_ привязываются к views и он работает как прежде, с фильтрами и т.п., но колоссально быстрее.
Для сравнения, недавно делал базу данных для поставщиков. Изначально реализовали на нодах, сразу оговорюсь, хостинг дешебанский 256мб оперативы, при 3к импортированных данных (нод), страница уже падала в белый экран из-за нехватки памяти. Перенес на таблицы, ибо ноды были не критичны, всеравно импорт был из csv. Летало (загружалось за 1-2 сек) с обьемом в 500.000 (!) данных, на всё том же дешебанском говнохостинге.