Вы здесь

Как улучшить быстродействие CRM на базе Drupal 7

1

Еще раз добрый день,
На базе Drupal 7 мною была создана CRM для транспортной компании. CRM - это прежде всего таблицы, а таблицы - это Views. Так вот, по ходу производства стало обнаруживаться, что некоторые страницы(вьюхи) открываются по 30-40 секунд.
Я понимаю, что вывод данных, тем более организованных на базе связей с другими сущностями, очень сложен. Отсюда и скорость.
Кэшировать вьюхи на таком многопользовательском сайте смысла нет, поскольку это серьезно испортит работу. Существуют ли способы оптимизации и ускорения Drupal 7? И если да, то какие?
Большое спасибо.

Версия Drupal: 
7.x
Категория: 
Performance
Связанные проекты: 
ViewsDrupal core
Вопрос задан 03.01.2015 - 22:39

Привет.
Если ноды, которые используются для данных, не критичны, имеет смысл создать свой кастом модуль, в котором описать таблицу, сделать формы для редактирования и добавления данных. Кастомные таблицы _легко_ привязываются к views и он работает как прежде, с фильтрами и т.п., но колоссально быстрее.

Для сравнения, недавно делал базу данных для поставщиков. Изначально реализовали на нодах, сразу оговорюсь, хостинг дешебанский 256мб оперативы, при 3к импортированных данных (нод), страница уже падала в белый экран из-за нехватки памяти. Перенес на таблицы, ибо ноды были не критичны, всеравно импорт был из csv. Летало (загружалось за 1-2 сек) с обьемом в 500.000 (!) данных, на всё том же дешебанском говнохостинге.

Комментарий оставлен 03.01.2015 - 22:46

Ответы

1

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

Ответ дан 04.01.2015 - 19:15
0

смотрите что тормозит - запрос, рендеринг, entity_load, ещё что-то
дальше дебагер, профайлер, explain
советовать что-то конкретное бессмысленно

Ответ дан 03.01.2015 - 22:55
Аватар пользователя xandeadx
xandeadx
1541
0

Ну да, надо смотреть что тормозит. Но как правило это выстроенные Views адовые SQL-запросы. Так что придется вывод данных ручками писать и причём оптимизировать его по полной. Ну а в остальном вроде народ правильно расписал.

Ответ дан 03.01.2015 - 23:05
Аватар пользователя SAM
SAM
212
0

Мной была создана CRM... судя по вопросам вы использовали сборку CRM на Друпал... что использовали ERPAL или CiviCRM? где лежит все что сделали? на локалке? или ??? отсюда и будут ответы а вооще увиличение производительности сервера ведет к производительности Друпал - это закон!

Ответ дан 21.01.2015 - 23:37
-2

Да, попробуйте хотя бы один views, который тормозит, реализовать через руками, через db_select + вывод таблицы руками.
И посмотрите разницу во времени исполнения.

Ответ дан 12.01.2015 - 08:22

Пожалуй соглашусь. Как я в комментарии к вопросу написал, прирост будет заметный только в случае кастомной таблицы и отказе от нод. Сами запросы Views генерирует очень чистые и самодельные ничем лучше не станут. Уже прошли те времена кода вьюсы генерели "грязь". Вы включите тебаг и посмотрите какие запросы он выдает, по ним учиться можно.

Комментарий оставлен 13.01.2015 - 09:06