Меню
RSS
Ускорение работы сайта на 1С-Битрикс
 
Ускорение работы сайта на 1С-Битрикс

Данная статья написана специально под видеоролик (приложен в конце статьи), опубликованный на моем ютуб канале: "Ускорение работы сайта на 1С-Битрикс".
 
Михаил спасибо за видео.
Подскажите пожалуйста, если на битриксе 2 или 3 сайта работают (в режиме многосайтовости) то каким образом прописывать "идентификатор кэш сессий"
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#02");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#03");

Или просто через запятую?
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01, #02, #03");
Изменено: inq - 13.11.2019 08:04:26
 
Цитата
inq написал:
Михаил спасибо за видео.
Подскажите пожалуйста, если на битриксе 2 или 3 сайта работают (в режиме многосайтовости) то каким образом прописывать "идентификатор кэш сессий"
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#02");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#03");

Или просто через запятую?
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01, #02, #03");
Интересный вопрос, что-то ни разу не делал memcached  с многосайтовостью.
Если рассуждать логически: установка одна, значит достаточно задать один идентификатор, а битрикс должен разрулить на своем уровне.
Как минимум разложить кеши всех сайтов по своим "директориям" и не перемешавать.

Наверное: есть резон спросить у ТП Битрикс. Если напишите им- буду благодарен если скопируете ответ сюда)

PS: Я бы не использовал в качестве ID сессий, ID сайтов. Если, на этом сервере появится еще одна установка битрикс (отдельная, вне текущей многосайтовости) - там могут оказаться такие же ID сайтов.
Мой метод, с первыми двумя буквами домена, может тоже не идеальный) Но все таки по надежнее. Можно и не две буквы, а целиком домен.
 
Цитата
Михаил Базаров написал:
Если рассуждать логически: установка одна, значит достаточно задать один идентификатор, а битрикс должен разрулить на своем уровне.
Как минимум разложить кеши всех сайтов по своим "директориям" и не перемешавать.

Наверное: есть резон спросить у ТП Битрикс. Если напишите им- буду благодарен если скопируете ответ сюда)

PS: Я бы не использовал в качестве ID сессий, ID сайтов. Если, на этом сервере появится еще одна установка битрикс (отдельная, вне текущей многосайтовости) - там могут оказаться такие же ID сайтов.
Мой метод, с первыми двумя буквами домена, может тоже не идеальный) Но все таки по надежнее. Можно и не две буквы, а целиком домен.

Ответ ТП Битрикс: Достаточно указать
Код
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
Так как файл dbconn.php общий, то и сессии тоже должны быть общие.


ID сессий #01 я взял для пример. Сам использую первые буквы, все завилось, но как только я включил отдачу композитного кэша через ngnix у меня "упал" главный сайт, он просто стал ссылаться на путь www, хотя у меня все сайты лежат в "/ext_www/имя_сайта".
Вернул бекап, в понедельник буду разбираться. Вы с подобным не сталкивались, может подскажите куда примерно "копать"?
Изменено: inq - 15.11.2019 16:15:37
 
при попытке подключения pagespeed с Вашим конфигом - ругался nginx на двойную строку включения фильтров.
подскажите она точно верная?
Код
pagespeed EnableFilters combine_css, combine_javascript, collapse_whitespace;
pagespeed EnableFilters remove_comments, convert_png_to_jpeg, convert_jpeg_to_webp;
там в не Disable должно быть? я так понял из доков что подключая ядро мы включаем все фильтры и нужно указать те что отключить, не уверен - возможно не прав
Цитата
CoreFilters - максимальный набор фильтров, является уровнем по умолчанию и активируется при запуске PageSpeed без дополнительных настроек.
OptimizeForBandwidth - минимальный набор фильтров. В основном оптимизирует и сжимает код.
PassThrough - полностью отключает все фильтры.
по поводу подключения pagespeed для разных сайтов при многосайтовости наткнулся на описание с форума битрикса при тестировании после включения модуля pagespeed в состав nginx веб-окружения:

1. создал конфиг /etc/nginx/bx/conf/pagespeed.conf
Скрытый текст

2. для нужного сайта включается так, в блок server добавить конфиг в конце:
/etc/nginx/bx/site_avaliable/ssl.site.conf
Скрытый текст

3. перезапуск nginx -s reload
4. проверка работы модуля в консоли:
Скрытый текст


не смог разобраться с параметром pagespeed AdminPath, список фильтров к отключению заменил на ваш, так ошибки не было
прошу подскажите правильно ли это? имею ввиду настройку фильтров, плюс стоит ли использовать указанные выше доп параметры?
и еще один вопрос не дает покоя, можно ли использовать memcashe вместе с модулем pagespeed?
Изменено: Артем Молодов - 02.05.2020 13:26:04
 
Цитата
Артем Молодов написал:
при попытке подключения pagespeed с Вашим конфигом - ругался nginx на двойную строку включения фильтров.
подскажите она точно верная?
По модулю nginx pagespeed - пока, не готов подсказывать. Несколько раз пробовал, на разных проектах, везде проблемы и существенного ускорения не дают.
Вроде бы, посвятил этому достаточно много вреени- но от проблем избавиться не удалось.
Пока, решил, не использовать эту штуку- на реальных проектах.
 
Цитата
inq пишет:
Михаил спасибо за видео.
Подскажите пожалуйста, если на битриксе 2 или 3 сайта работают (в режиме многосайтовости) то каким образом прописывать "идентификатор кэш сессий"
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#02");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#03");

Или просто через запятую?
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01, #02, #03");
Ни чего не надо. В режиме многосайтовости каждый сайт имеет свой DOCUMENT_ROOT. (Кстати и в настройках сайтов в админике вы должны указывать этот путь). т.е. define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01"); достаточно сразу для всех трех сайтов.
PS У меня личный сайт и сайт моего проекта несколько лет в ержиме многосайтовости.  Все работает. Если "не верите". Добавьте на страницы сайтов вывод <?=BX_CACHE_SID?>
 
Михаил, добрый день. Просмотрел Ваш ролик, большое спасибо. Все доходчиво. Но есть вопрос? Проверял свой сайт, да и Ваш тоже в  Lighthouse. Не у меня, не у Вас и не у меня он не в зеленной зоне (мобильная версия). Сайт мой https://zdorov.by/. Покупал шаблон Аспро Максимум, но и у них он в демо версии не проходит в зеленую зону. Что нужно доработать, чтобы попасть туда. Спасибо!
 
Цитата
Анатолий Войтеховский написал:
Михаил, добрый день. Просмотрел Ваш ролик, большое спасибо. Все доходчиво. Но есть вопрос? Проверял свой сайт, да и Ваш тоже в  Lighthouse. Не у меня, не у Вас и не у меня он не в зеленной зоне (мобильная версия). Сайт мой  https://zdorov.by/ . Покупал шаблон Аспро Максимум, но и у них он в демо версии не проходит в зеленую зону. Что нужно доработать, чтобы попасть туда. Спасибо!
Да, над своим сайтом я работаю - со временем пока напряженка.
А вот по Аспро не подскажу - в их решениях очень избыточный код (и на бекенде и на фронте), очень много не используемого js и css.
Там, только выкидывать все не нужное из решения, не нужное именно на конкретном проекте. Само собой, лишившись обновлений аспро
 
Спасибо за ответ. Может у Вас есть идея. Не могу понять, где копать? https://prnt.sc/wokm0k
x cpu 2.7GHz/ 2048 Mb / ssd 15000 Mb. Что может так тормозить. Сайт на VPS виртуальная машина Битрикс.
 
Цитата
Анатолий Войтеховский написал:
Спасибо за ответ. Может у Вас есть идея. Не могу понять, где копать?  https://prnt.sc/wokm0k
x cpu 2.7GHz/ 2048 Mb / ssd 15000 Mb. Что может так тормозить. Сайт на VPS виртуальная машина Битрикс.
Так, конечно, не подсказать ни чего. Надо разбираться и с машиной и с настройками конфигураций.
Самое просто и очевидное, скорость диска - проверьте ее. Может быть он и SSD - но очень паршивый SSD )
 
привет! на этапе "включаем отдачу композитного сайта через nginx" - пункт 9 в виртуалке, получаю сообщение:
"Composite preferences were not found for the site default.
You may want to update settings in Control Panel."
Читают тему
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Bst

Блог-note: заметки разработчика

Отсортировать предложения по цене в каталоге 1С-Битрикс

Задача: в 1С-Битрикс есть настройка для вывода предложений по стоимости, но она не функционирует должным образом. Необхо...

СЕО настройки сайта перед запуском

В видео рассказано о первоначальной СЕО настройке сайта перед запуском. Все показанное является компилицией из собственн...

Вывести все разделы в которых находится элемент инфоблока

Если нужно вывести все разделы, со всей доступной информацией о них, внутри элемента инфоблока, например в карточке това...

Выбор основного раздела для элемента инфоблока в 1С-Битрикс

Проблема: при привязке элемента инфоблока к нескольким разделам возникают дубли его детальной страницы, в зависимости от...

Повторить заказ на API 1С-Битрикс наполнив корзину из заказа

Задача: заполнить корзину пользователя теми же товарами и количествами которые были в ранее созданном заказе. При этом н...

Создание раздела инфоблока при регистрации пользователя в Битрикс

Например вам нужно выводить информацию исключительно для определенного пользователя. Само собой, это можно сделать с пом...

Вывести свойство привязка к Яндекс Картам в Битрикс

Часто бывает нужно вывести свойство привязка к Яндекс карте в детальном описании элемента. Например в детальной новости ...

Удалить товары из корзины, если есть определенные товары.

Задача: если в корзину добавлены товары с определенным свойством, нужно удалить из корзины, все другие товары- предупред...

Почтовое событие на создание нового элемента инфоблока, через API

Иногда при разработке сайта требуется реализовать функционал добавления элементов инфоблока простыми пользователям.Будет...