Вы здесь

Как оптимизировать множество полей (штук 30-40)?

2

http://dru.io/question/5318 - отсюда "ноги растут"

Вопрос: Кто как оптимизирует вывод полей, когда их шибко много и для обычных юзеров и чтоб сервер регулярно не умирал.

Юзеру заполнять сразу всю "портянку" - тяжко
Нагрузка на сервер - тоже от кол-ва полей вырастает

Что делать?
Часть инфы публиковать оптом в одном поле или?

Версия Drupal: 
7.x
Категория: 
Performance
Вопрос задан 09.01.2016 - 17:13
Аватар пользователя Pavel
Pavel
-47

Ответы

3

Закешировать.
Причем, если вывод материала изменяется только при изменении полей, то есть готовые модули: Entity Сache и Display Cache. Подробно их описывал Drupby в своей статье.

Ответ дан 09.01.2016 - 17:41

Т.е. штук двести полей создаем и кешируем и это будет работать на хостинге за пять баксов? или ньюансы всё-таки есть?

Комментарий оставлен 10.01.2016 - 12:02

Если кешировать, то основная нагрузка будет при добавлении нового материала, редактировании материала и первом выводе этого материала. После первого вывода данные закешируются. Если сервер справляется с добавлением, редактированием, первым выводом нужное количество раз в день/месяц (в зависимости от того как часто добавляются, редактируются материалы), то все будет работать.

Комментарий оставлен 10.01.2016 - 14:09
1

Чтобы пользователь не испытывал неудобства от заполнения множества полей на одной странице, можно их сгруппировать с помощью модуля field_group

А насчет сервера - что, он от ввода ноды с большим количеством полей регулярно умирает ?
Что это за хостинг, оставьте ссылку, пожалуйста ?
Может быть, этот хостинг сам по себе слабый и с ним не нужно иметь дел.

Ответ дан 09.01.2016 - 19:27

Да неее - хостинг у меня сносный... косяков различных хватает периодически, но пока за эти деньги шибких альтернатив не вижу. Шило на мыло менять лень. Если действительно надо - могу его тут разрекламировать, но смысла нет.

Вопрос о "периодическом умирании сервера" - первентивный. А вот по поводу группировки полей для пользователей - тема интересная и актуальная. Чем хуже например https://www.drupal.org/project/field_collection - он и с Entity Cache дружит

Комментарий оставлен 09.01.2016 - 20:27

FieldCollection - это не то. Это, если есть необходимость иметь поле, хранящее составные данные, а писать своё поле с виджетом и форматтером нет возможности или желания.
Например, нужно хранить в виде одного поля какие-нибудь характеристики (длину, ширину, высоту)

Ну или вот пример. Пусть нода - это предприятие.
И нужно хранить информацию о каких-то важных событиях в жизни предприятия. (дата, текст - что произошло, категория события, фотографии)
Это проще всего организовать с помощью составного поля, которое и делается с помощью FieldCollection.

А FieldGroup - это просто средство для группировки полей при вводе ноды. Например, чтобы на одной странице 50 полей не отображать, их можно сгруппировать на разных закладках по смыслу - на первой 10 таких-то, на второй - 8 таких-то, на последней закладке - какие-то еще поля.

Комментарий оставлен 10.01.2016 - 10:18

FieldCollection тоже группирует поля при вводе ноды... в табы сам складывать не умеет, но вообщем-то за полчаса-час научить его можно... ))

Комментарий оставлен 10.01.2016 - 11:17
0

Для редактирования чтобы сервер не умирал можно разделить редактирование полей, например https://www.drupal.org/project/quickedit

Ответ дан 10.01.2016 - 10:56