8 способов увеличить производительность сайта на 1С-Битрикс. Оптимизация производительности битрикс
8 способов увеличить производительность сайта на 1С-Битрикс
Что будет, если нагрузить фуру и старую клячу грузом в 1 тонну? Правильно: первый поедет на максимальной скорости, а вторая не сможет сдвинуться с места. Так и сайты: у каждого из них свои требования к хостингу, конфигурации, настройкам платформы 1С-Битрикс.
Каждую неделю в нашу поддержку приходят жалобы на низкую скорость загрузки. В 99,9% случаев оказывается, что проблема кроется в слабеньком хостинге и неправильных настройках. Рассказываем, что делать, если сайт или интернет-магазин тормозит, и как правильно произвести диагностику и самостоятельно увеличить производительность — так, чтобы летал.
1. Оцените производительность
Модуль «Монитор производительности» 1С-Битрикс позволит протестировать производительность сайта и сравнить результаты с эталонными показателями. Он укажет на слабые места: сайт, CMS, конфигурация, некачественная разработка или хостинг. Вы можете развернуть ваш сайт или «чистый» 1С-Битрикс на разных площадках и сравнить эти цифры.- меньше 30 пунктов – забудьте про производительность и быструю загрузку страниц. Показателя «Очень быстро» вам не видать. Тормозить будет все!
- от 30 до 60 – подойдет для небольших проектов (корпоративные сайты или интернет магазины с небольшим количеством товаров, небольшим количеством SKU и параметров в умном фильтре)
- от 60 до 100 — конфигурация сервера приемлема, но не оптимальна. Подойдет для большинства проектов. Сайт работать будет, но не на сверхскоростях.
- от 100 – вы молодцы: не поленились выбрать нормальную хостинг площадку! Админка летает, большие объемы данных из 1С выгружаются на ура, страницы отдаются быстро. Вы спите спокойно и даже не думаете писать в техподдерожку с жалобами на проблемы с загрузкой сайта, ни разу не видели ошибок Request timeout или 502 Bad Gateway.
- 200 и выше – идеально!
2. Перейдите на PHP7
3 декабря 2015 года вышла седьмая версия PHP. Она разрабатывалась с упором на увеличение производительности и уменьшение потребления памяти. Тесты это убедительно показывают (пример 1, пример 2) — прирост производительности после перехода на новое ядро составляет от 40%!
Сидеть на старых версиях PHP — осложнять жизнь пользователю и делать этот интернет хуже. Если ваш хостинг не поддерживает PHP7, меняйте его (например, на этот с бесплатным переносом). Если ваш сайт не поддерживает PHP7, срочно исправляйтесь. А еще лучше, используйте решения с поддержкой PHP7 — например, от Аспро.
3. Настройте кеширование
Использовать композит и автокомпозит — это хорошо и правильно. Но просто включить их — полдела. Чтобы получить ощутимый прирост в скорости, нужно корректно задать время жизни кеша в зависимости от частоты обновления данных на сайте и посещаемости.- Оставлять настройки по умолчанию (120 секунд).Почему: первый посетитель заходит на страницу товара. Формируется кеш. Второй посетитель заходит на сайт через час. Кеш нужно формировать заново — его время истекло. В итоге кеш генерируется каждый раз при открытии страницы. Прироста производительности и скорости не просто нет — она даже снижается.
- Не соотносить время жизни кеша с частотой обновления данных на сайте и посещаемости сайта.
- Задавать для отдельных разделов (новости, статьи) огромное время кеширования.
- Цены на сайте обновляются вручную или несколько раз в неделю. Рекомендуемое время кеширования: не менее 172800 секунд (2 суток).
- Цены на сайте обновляются один раз в день, выгрузка из 1С или другой системы складского учета происходит ночью. Рекомендуемое время кеширования: 86400 секунд (1 сутки).
- Нечасто, но бывает: цены обновляются через реал-тайм обмен с 1С и бывает, что несколько раз в течение дня. Рекомендуемое время кеширования: 7200 секунд (2 часа).
4. Создайте фасетные индексы для умного фильтра
Фасетные индексы ускоряют работу умного фильтра. Обычно умному фильтру нужно перебрать все товары каталога и сравнить их свойства с заданными параметрами. Если товаров много, такой процесс может занять определенное время. Фасета же заранее просчитывает и составляет варианты запросов, сохраняет в системе и выдает по запросу.
На словах все здорово, на деле — не очень: фасеты редко создают и используют. Попробуйте это сделать и сравните скорость загрузки результатов фильтрации. Инструкция в нашей документации
5. Проанализируйте и создайте индексы в базе данных
Индексы анализируются и создаются здесь: Настройки → Производительность → Индексы → Анализ индексов.
Нажмите на кнопку «Выполнить анализ собранных SQL запросов». Если появившиеся индикаторы зеленые, все в порядке: индексы созданы. Если индикаторы желтые, создайте их самостоятельно. Инструкция в мануалах 1С-Битрикс
6. Отключите неиспользуемые модули
При инциализации ядра 1С-Битрикс подключается большой список модулей. Они отнимают ресурсы, но при этом не нужны для полноценной работы сайта. Отключаем лишние модули — получаем прирост производительности. Перед тем, как это делать, обязательно сделайте резервную копию сайта.- AD/LDAP интеграция (ldap)
- Push and Pull (pull)
- Wiki (wiki)
- А/B-тестирование (abtest)
- Веб-аналитика (statistic)
- Веб-кластер (cluster)
- Веб-мессенджер (im)
- Веб-сервисы (webservice)
- Дизайнер бизнес-процессов (bizprocdesigner)
- Документооборот (workflow)
- Календарь событий (calendar)
- Конструктор отчетов (report)
- Менеджер идей (idea)
- Мобильная платформа (mobileapp) - если не подключено мобильное приложение
- Мобильное приложение для интернет-магазина (eshopapp) - если не подключено мобильное приложение
- Обучение (learning)
- Перевод (translate)
- Почта (mail)
- Техподдержка (support)
- Универсальные списки (lists)
- Управление масштабированием (scale).
7. Настройте CDN
Еще одна неоднозначная вещь, которая может как разогнать сайт, так и заставить его хорошенько притормозить. Что это такое?
Теория:
«Модуль Ускорение сайта (CDN), который позволяет загружать весь статический контент вашего сайта (картинки, файлы стилей css, скрипты js) через сеть дистрибуции контента (Content Delivery Network или Content Distribution Network, CDN). Тем самым значительная часть ресурсов сайта загружается посетителем с ближайшего к нему сервера. Это позволяет увеличить скорость загрузки страниц до нескольких раз.
Также подключение CDN снижает нагрузку на основные серверы сайта. Так как весь статический контент загружается посетителями вашего сайта не напрямую с ваших серверов, а с узлов CDN, которые умеют очень эффективно кэшировать контент, снижается количество обращений непосредственно к вашим серверам» (отсюда)Настраивается CDN здесь: Настройки → Облако 1С-Битрикс → Ускорение сайта (CDN).
Практика
Не все так однозначно: для кого-то включенный CDN дает реальный прирост производительности, а у кого-то, напротив, снижает скорость загрузки сайта. Выход один: тестировать и замерять результаты.
8. Включите объединение и сжатие CSS и JS-файлов
В настройках главного модуля сайта есть волшебный блок, который позволяют улучшить показатели скорости загрузки сайта. Называется он “Оптимизация CSS”. Отмечайте галочками все, сохраняйте изменения и тестируйте скорость загрузки страниц.
Как это все работает в деталях, читайте в нашей базе знаний. А оценить в количественных и качественных характеристиках эти «до» и «после» поможет старый добрый Google PageSpeed Insights.
vnktrade.ru
Панель производительности CMS Битрикс - зачем нужна и как работает?
В данном топике я бы хотел обсудить до боли частую проблему с клиентами, которые используют CMS Битрикс на хостинге, VPS или выделенном сервере.
Многие из этих клиентов частенько обращают внимание на один встроенный модуль под названием «Панель производительности«. Вот о нем и пойдет сегодня речь.
К сожалению, многие владельцы CMS Битрикс думают, что данный показатель является эталоном и показывает скорость загрузки сайта, качество хостинга или VPS сервера, на котором размещен сайт. НО это не так.
Даже сами разработчики CMS Битрикса утверждают, что это не так.
Официальный ответ от компании Битрикс:
В связи с вышесказанным, пожалуйста, не оценивайте качество CMS хостинга данным тестом.
Несмотря на то, что показатель сам по себе не имеет ничего с общей загрузкой сайта, мы все же решили провести самостоятельное исследование, и изучить, как выполняется данный тест.
Как оказалось, абсолютно все показатели не взаимозависимы. К примеру, мы искусственно понижали/повышали показатель «Файловая система» от 5000 до 35000 единиц. Результат — показатель производительности не меняется.
Аналогичная ситуация с почтовой системой и другими показателями. Что интересно, очень сильно влияет на конечный показатель выполнение требований от самого битрикса, а именно включение php кеширования, отключение open_basedir и изменения других директив для PHP. Как оказалось, показатель мог меняться в 2-4 раза. Что еще более интересно, на конечную скорость загрузки это практически не влияло. Мы решили удостовериться в этом опытным путем и использовали внешние сервисы тестирования скорости загрузки сайта, чтобы исключить все факторы, которые могут искажать результат. Как оказалось, это практически не влияет на результат.
Так что же такое «Панель производительности» для Битрикса?
Все разъяснения есть на сайте CMS битрикс — http://dev.1c-bitrix.ru/community/blogs/howto/2450.php
Но, мы также повторимся:
Эта цифра — есть величина, обратная времени исполнения ядра продукта [среднему на 10 измерений].
Другими словами, ядро может даже не делать запросы к БД и в принципе не грузить статику. Оно абсолютно не коррелируется со скоростью загрузки сайта.
Конечно же, нам стало интересно, как можно проверить скорость загрузки ядра напрямую. К сожалению, тут даже техподдержка битрикса не смогла нам ответить, как это можно сделать. Если Вы включите «режим отладки», то увидите, что создается постоянно разное количество запросов как к БД, так и к самому ядру, что очень странно.
Видимо, одному Богу известно, как оно грузится.
Напоследок, мы решили провести обширное тестирование на серверах с разной мощностью. На всех серверах было одинаковое ПО, но разные процессоры, объем памяти, диски.
Итак, есть 3 сервера:
1) Битрикс производительность — 10 баллов (проблемный, но самый мощный)2) Битрикс производительность — 30 баллов (Самый слабый)3) Битрикс производительность — 30-40 баллов (Средний )
Далее, мы решили проверить корреляцию загрузки 3-х сайтов (главной страницы) с использованием режима отладки:
Результаты видны в левом нижнем углу:
1) 0.31 сек2) 0.23 сек3) 0.24 сек
Как Вы можете заметить, погрешность загрузки очень мала, НО, что самое интересное, самый мощный сервер выдал всего 10 баллов. Какие-то только оптимизации мы не делали с ним. Причем первый сервер при нагрузочном тестировании показал лучшие результаты, а как раз этот показатель важен для высоко нагруженных проектов. Также, данный показатель не считает общую производительность процессора, а только одного ядра!
Что это означает?
Это означает, что данный тест не покажет Вам, какую нагрузку выдержит данный сервер. Он в принципе не покажет Вам ничего полезного…
Наши рекомендации:
В процессе тестирования, мы выявили ряд мер, который действительно влияют на конечную скорость загрузки сайта и в целом на производительность битрикса. В порядке их влияния:
- Включение «композитного режима».
- Включение кеширования для статики, если хостингом это не предусмотрено. У нас кеширование статики включено по-умолчанию на всех хостинг серверах.
- Включение кеширования php, html.
- Хранение сессий в кеше.
- Оптимизация БД.
- Сжатие картинок на сайте. Помимо стандартного сжатия через nginx не забывайте также оптимизировать сам размер Ваших статических файлов.
В принципе, этого хватает, чтобы Ваш сайт работал быстро и радовал Ваших покупателей скоростью загрузки сайта. Если Вы все же недовольны скоростью загрузки, то используйте «режим отладки», который поможет выявить проблемные места.
Также не забудьте, что мы предлагаем оптимизированный хостинг для Битрикса.
adminvps.ru
8 способов увеличить производительность сайта на 1С-Битрикс
Что будет, если нагрузить фуру и старую клячу грузом в 1 тонну? Правильно: первый поедет на максимальной скорости, а вторая не сможет сдвинуться с места. Так и сайты: у каждого из них свои требования к хостингу, конфигурации, настройкам платформы 1С-Битрикс.
Каждую неделю в нашу поддержку приходят жалобы на низкую скорость загрузки. В 99,9% случаев оказывается, что проблема кроется в слабеньком хостинге и неправильных настройках. Рассказываем, что делать, если сайт или интернет-магазин тормозит, и как правильно произвести диагностику и самостоятельно увеличить производительность — так, чтобы летал.
1. Оцените производительность
Модуль «Монитор производительности» 1С-Битрикс позволит протестировать производительность сайта и сравнить результаты с эталонными показателями. Он укажет на слабые места: сайт, CMS, конфигурация, некачественная разработка или хостинг. Вы можете развернуть ваш сайт или «чистый» 1С-Битрикс на разных площадках и сравнить эти цифры.Что нужно знать о показателях производительности:
- меньше 30 пунктов – забудьте про производительность и быструю загрузку страниц. Показателя «Очень быстро» вам не видать. Тормозить будет все!
- от 30 до 60 – подойдет для небольших проектов (корпоративные сайты или интернет магазины с небольшим количеством товаров, небольшим количеством SKU и параметров в умном фильтре)
- от 60 до 100 — конфигурация сервера приемлема, но не оптимальна. Подойдет для большинства проектов. Сайт работать будет, но не на сверхскоростях.
- от 100 – вы молодцы: не поленились выбрать нормальную хостинг площадку! Админка летает, большие объемы данных из 1С выгружаются на ура, страницы отдаются быстро. Вы спите спокойно и даже не думаете писать в техподдерожку с жалобами на проблемы с загрузкой сайта, ни разу не видели ошибок Request timeout или 502 Bad Gateway.
- 200 и выше – идеально!
Как протестировать сайт
Перейдите в панель производительности: Настройки → Производительность → Панель производительности. Нажмите кнопку «Тестирование производительности» и подождите несколько минут.2. Перейдите на PHP7
3 декабря 2015 года вышла седьмая версия PHP. Она разрабатывалась с упором на увеличение производительности и уменьшение потребления памяти. Тесты это убедительно показывают (пример 1, пример 2) — прирост производительности после перехода на новое ядро составляет от 40%!
Сидеть на старых версиях PHP — осложнять жизнь пользователю и делать этот интернет хуже. Если ваш хостинг не поддерживает PHP7, меняйте его (например, на этот с бесплатным переносом). Если ваш сайт не поддерживает PHP7, срочно исправляйтесь. А еще лучше, используйте решения с поддержкой PHP7 — например, от Аспро.
3. Настройте кеширование
Использовать композит и автокомпозит — это хорошо и правильно. Но просто включить их — полдела. Чтобы получить ощутимый прирост в скорости, нужно корректно задать время жизни кеша в зависимости от частоты обновления данных на сайте и посещаемости.Как не надо:
- Оставлять настройки по умолчанию (120 секунд).Почему: первый посетитель заходит на страницу товара. Формируется кеш. Второй посетитель заходит на сайт через час. Кеш нужно формировать заново — его время истекло. В итоге кеш генерируется каждый раз при открытии страницы. Прироста производительности и скорости не просто нет — она даже снижается.
- Не соотносить время жизни кеша с частотой обновления данных на сайте и посещаемости сайта.
- Задавать для отдельных разделов (новости, статьи) огромное время кеширования.
- Цены на сайте обновляются вручную или несколько раз в неделю. Рекомендуемое время кеширования: не менее 172800 секунд (2 суток).
- Цены на сайте обновляются один раз в день, выгрузка из 1С или другой системы складского учета происходит ночью. Рекомендуемое время кеширования: 86400 секунд (1 сутки).
- Нечасто, но бывает: цены обновляются через реал-тайм обмен с 1С и бывает, что несколько раз в течение дня. Рекомендуемое время кеширования: 7200 секунд (2 часа).
4. Создайте фасетные индексы для умного фильтра
Фасетные индексы ускоряют работу умного фильтра. Обычно умному фильтру нужно перебрать все товары каталога и сравнить их свойства с заданными параметрами. Если товаров много, такой процесс может занять определенное время. Фасета же заранее просчитывает и составляет варианты запросов, сохраняет в системе и выдает по запросу.
На словах все здорово, на деле — не очень: фасеты редко создают и используют. Попробуйте это сделать и сравните скорость загрузки результатов фильтрации. Инструкция в нашей документации
5. Проанализируйте и создайте индексы в базе данных
Индексы анализируются и создаются здесь: Настройки → Производительность → Индексы → Анализ индексов.
Нажмите на кнопку «Выполнить анализ собранных SQL запросов». Если появившиеся индикаторы зеленые, все в порядке: индексы созданы. Если индикаторы желтые, создайте их самостоятельно. Инструкция в мануалах 1С-Битрикс
6. Отключите неиспользуемые модули
При инциализации ядра 1С-Битрикс подключается большой список модулей. Они отнимают ресурсы, но при этом не нужны для полноценной работы сайта. Отключаем лишние модули — получаем прирост производительности. Перед тем, как это делать, обязательно сделайте резервную копию сайта.Какие модули используются редко и их можно отключить без последствий для работы сайта:
- AD/LDAP интеграция (ldap)
- Push and Pull (pull)
- Wiki (wiki)
- А/B-тестирование (abtest)
- Веб-аналитика (statistic)
- Веб-кластер (cluster)
- Веб-мессенджер (im)
- Веб-сервисы (webservice)
- Дизайнер бизнес-процессов (bizprocdesigner)
- Документооборот (workflow)
- Календарь событий (calendar)
- Конструктор отчетов (report)
- Менеджер идей (idea)
- Мобильная платформа (mobileapp) - если не подключено мобильное приложение
- Мобильное приложение для интернет-магазина (eshopapp) - если не подключено мобильное приложение
- Обучение (learning)
- Перевод (translate)
- Почта (mail)
- Техподдержка (support)
- Универсальные списки (lists)
- Управление масштабированием (scale).
7. Настройте CDN
Еще одна неоднозначная вещь, которая может как разогнать сайт, так и заставить его хорошенько притормозить. Что это такое?
Теория:
«Модуль Ускорение сайта (CDN), который позволяет загружать весь статический контент вашего сайта (картинки, файлы стилей css, скрипты js) через сеть дистрибуции контента (Content Delivery Network или Content Distribution Network, CDN). Тем самым значительная часть ресурсов сайта загружается посетителем с ближайшего к нему сервера. Это позволяет увеличить скорость загрузки страниц до нескольких раз.
Также подключение CDN снижает нагрузку на основные серверы сайта. Так как весь статический контент загружается посетителями вашего сайта не напрямую с ваших серверов, а с узлов CDN, которые умеют очень эффективно кэшировать контент, снижается количество обращений непосредственно к вашим серверам» (отсюда)Настраивается CDN здесь: Настройки → Облако 1С-Битрикс → Ускорение сайта (CDN).
Практика
Не все так однозначно: для кого-то включенный CDN дает реальный прирост производительности, а у кого-то, напротив, снижает скорость загрузки сайта. Выход один: тестировать и замерять результаты.
8. Включите объединение и сжатие CSS и JS-файлов
В настройках главного модуля сайта есть волшебный блок, который позволяют улучшить показатели скорости загрузки сайта. Называется он “Оптимизация CSS”. Отмечайте галочками все, сохраняйте изменения и тестируйте скорость загрузки страниц.
Как это все работает в деталях, читайте в нашей базе знаний. А оценить в количественных и качественных характеристиках эти «до» и «после» поможет старый добрый Google PageSpeed Insights.
www.ntimi.ru
Производительность 1С-Битрикс
Очень часто задают вопросы: от чего зависят показания панели производительности 1С-Битрикс, что означают отдельные показатели. Давайте разберемся с этим вопросом.
Самое главное – значение «попугаев» (оценка производительности) это единица, деленная на параметр «среднее время отклика». «Среднее время отклика» - это то время, за которое открывается пустая страница сайта на 1С-Битрикс без контента.
Таким образом, оценка производительности не рассчитывается исходя из других показателей панели производительности.
Важно понимать, что эталон производительности был рассчитан еще во времена примерно 2010-2011 годов, т.е. с тех пор в 1С-Битрикс добавилось много разных плюшек, которые увеличили размер скриптов, и «тяжесть» работы сайта. Кроме того, показатель производительности зависит от редакции 1С-Битрикс! Чем «тяжелее» редакция (Старт -> Стандарт -> Малый бизнес -> Эксперт -> Бизнес -> Корпоративный портал). Тем ниже будет показатель производительности при том же самом тарифе хостинга или «железе».
При этом есть некие разумные значения показателя производительности, если у вас показатель примерно 15 баллов на редакции бизнес, это значит, что сайт будет визуально работать быстро и вряд ли вы заметите какие-то проблемы со скоростью открытия страниц. Случаются и обратные варианты, когда при относительно высоком показателе производительности сайт работает нестабильно, поэтому, гораздо важнее, проверять работу сайта не только оценкой производительности с панели «конфигурация», но делать оценку совместно с оценкой на стабильность работы при масштабировании (вкладка «масштабируемость»).
Но и другие показатели панели «конфигурация» могут дать некоторое представление об используемом тарифе хостинга. Рассмотрим самые важные:
Процессор (CPU) – этот показатель напрямую зависит от частоты ядра процессора, чем выше частота, тем выше показатель, например, при частоте 2Ггц в среднем показатель этого параметра примерно 6 млн. операций в секунду. Так что, когда у вас физический выделенный сервер или VDS (виртуальный выделенный сервер) с 4 ядрами, и визуально сайт у вас летает, но в панели показатель не поднимается до эталона – ничего страшного. Тест измеряет частоту ОДНОГО ядра, а не суммарную потенциальную производительность процессора.
Файловая система – здесь все зависит от операционной системы (под Windows даже на SSD дисках это значение не часто бывает более 2000 операций в секунду), а также самого накопителя (показатели будут выше на SSD чем показатели обычного жесткого диска). На практике замедление работы сайта наблюдалось только при показателях ниже 1000 операций, и было достигнуто такое состояние особыми настройками и очень большой загрузкой диска в тот момент. Поэтому особо переживать, за то что этот параметр не достигает эталона не нужно. (эталон довольно высокий еще потому, что на той тестовой машине 1С-Битрикс был один сайт и больше там не было ничего, а на практике реально на хостинге даже VDS бывает несколько размещено на одном физическом компьютере, не говоря о простых тарифах).
Оптимальная конфигурация php – по большому счету у вас должен быть установлен в операционной системе на сервере один из поддерживаемых 1С-Битрикс php-акселераторов и настройки на этот акселератор должны быть прописаны в соответствующих файлах (см. статью «настройка хостинга на работу с 1С-Битрикс»).
Чтение, запись, изменение БД MySQL – эти параметры зависят от настроек хостинга, а так же типа таблиц базы данных (INNODB работает медленнее чем MyISAM, однако, если важна имено стабильность работы системы, то лучше выбирать INNODB).
В заключение предлагаю посмотреть на скриншот, такие показатели были достигнуты на редакции «Малый бизнес» на виртуальном выделенном сервере с настройками: 1 ядро@2 Ггц, 512 Мб оперативной памяти, 15 Гб жесткий диск (SAS), операционная система Debian 7. Установлен php-акселератор APC. PHP версии 5.4, БД Maria DB.
dukis.ru
8 способов увеличить производительность сайта на 1С-Битрикс
Что будет, если нагрузить фуру и старую клячу грузом в 1 тонну? Правильно: первый поедет на максимальной скорости, а вторая не сможет сдвинуться с места. Так и сайты: у каждого из них свои требования к хостингу, конфигурации, настройкам платформы 1С-Битрикс.
Каждую неделю в нашу поддержку приходят жалобы на низкую скорость загрузки. В 99,9% случаев оказывается, что проблема кроется в слабеньком хостинге и неправильных настройках. Рассказываем, что делать, если сайт или интернет-магазин тормозит, и как правильно произвести диагностику и самостоятельно увеличить производительность — так, чтобы летал.
1. Оцените производительность
Модуль «Монитор производительности» 1С-Битрикс позволит протестировать производительность сайта и сравнить результаты с эталонными показателями. Он укажет на слабые места: сайт, CMS, конфигурация, некачественная разработка или хостинг. Вы можете развернуть ваш сайт или «чистый» 1С-Битрикс на разных площадках и сравнить эти цифры.Что нужно знать о показателях производительности:
- меньше 30 пунктов – забудьте про производительность и быструю загрузку страниц. Показателя «Очень быстро» вам не видать. Тормозить будет все!
- от 30 до 60 – подойдет для небольших проектов (корпоративные сайты или интернет магазины с небольшим количеством товаров, небольшим количеством SKU и параметров в умном фильтре)
- от 60 до 100 — конфигурация сервера приемлема, но не оптимальна. Подойдет для большинства проектов. Сайт работать будет, но не на сверхскоростях.
- от 100 – вы молодцы: не поленились выбрать нормальную хостинг площадку! Админка летает, большие объемы данных из 1С выгружаются на ура, страницы отдаются быстро. Вы спите спокойно и даже не думаете писать в техподдерожку с жалобами на проблемы с загрузкой сайта, ни разу не видели ошибок Request timeout или 502 Bad Gateway.
- 200 и выше – идеально!
Как протестировать сайт
Перейдите в панель производительности: Настройки → Производительность → Панель производительности. Нажмите кнопку «Тестирование производительности» и подождите несколько минут.2. Перейдите на PHP7
3 декабря 2015 года вышла седьмая версия PHP. Она разрабатывалась с упором на увеличение производительности и уменьшение потребления памяти. Тесты это убедительно показывают (пример 1, пример 2) — прирост производительности после перехода на новое ядро составляет от 40%!
Сидеть на старых версиях PHP — осложнять жизнь пользователю и делать этот интернет хуже. Если ваш хостинг не поддерживает PHP7, меняйте его (например, на этот с бесплатным переносом). Если ваш сайт не поддерживает PHP7, срочно исправляйтесь. А еще лучше, используйте решения с поддержкой PHP7 — например, от Аспро.
3. Настройте кеширование
Использовать композит и автокомпозит — это хорошо и правильно. Но просто включить их — полдела. Чтобы получить ощутимый прирост в скорости, нужно корректно задать время жизни кеша в зависимости от частоты обновления данных на сайте и посещаемости.Как не надо:
- Оставлять настройки по умолчанию (120 секунд).Почему: первый посетитель заходит на страницу товара. Формируется кеш. Второй посетитель заходит на сайт через час. Кеш нужно формировать заново — его время истекло. В итоге кеш генерируется каждый раз при открытии страницы. Прироста производительности и скорости не просто нет — она даже снижается.
- Не соотносить время жизни кеша с частотой обновления данных на сайте и посещаемости сайта.
- Задавать для отдельных разделов (новости, статьи) огромное время кеширования.
- Цены на сайте обновляются вручную или несколько раз в неделю. Рекомендуемое время кеширования: не менее 172800 секунд (2 суток).
- Цены на сайте обновляются один раз в день, выгрузка из 1С или другой системы складского учета происходит ночью. Рекомендуемое время кеширования: 86400 секунд (1 сутки).
- Нечасто, но бывает: цены обновляются через реал-тайм обмен с 1С и бывает, что несколько раз в течение дня. Рекомендуемое время кеширования: 7200 секунд (2 часа).
4. Создайте фасетные индексы для умного фильтра
Фасетные индексы ускоряют работу умного фильтра. Обычно умному фильтру нужно перебрать все товары каталога и сравнить их свойства с заданными параметрами. Если товаров много, такой процесс может занять определенное время. Фасета же заранее просчитывает и составляет варианты запросов, сохраняет в системе и выдает по запросу.
На словах все здорово, на деле — не очень: фасеты редко создают и используют. Попробуйте это сделать и сравните скорость загрузки результатов фильтрации. Инструкция в нашей документации
5. Проанализируйте и создайте индексы в базе данных
Индексы анализируются и создаются здесь: Настройки → Производительность → Индексы → Анализ индексов.
Нажмите на кнопку «Выполнить анализ собранных SQL запросов». Если появившиеся индикаторы зеленые, все в порядке: индексы созданы. Если индикаторы желтые, создайте их самостоятельно. Инструкция в мануалах 1С-Битрикс
6. Отключите неиспользуемые модули
При инциализации ядра 1С-Битрикс подключается большой список модулей. Они отнимают ресурсы, но при этом не нужны для полноценной работы сайта. Отключаем лишние модули — получаем прирост производительности. Перед тем, как это делать, обязательно сделайте резервную копию сайта.Какие модули используются редко и их можно отключить без последствий для работы сайта:
- AD/LDAP интеграция (ldap)
- Push and Pull (pull)
- Wiki (wiki)
- А/B-тестирование (abtest)
- Веб-аналитика (statistic)
- Веб-кластер (cluster)
- Веб-мессенджер (im)
- Веб-сервисы (webservice)
- Дизайнер бизнес-процессов (bizprocdesigner)
- Документооборот (workflow)
- Календарь событий (calendar)
- Конструктор отчетов (report)
- Менеджер идей (idea)
- Мобильная платформа (mobileapp) - если не подключено мобильное приложение
- Мобильное приложение для интернет-магазина (eshopapp) - если не подключено мобильное приложение
- Обучение (learning)
- Перевод (translate)
- Почта (mail)
- Техподдержка (support)
- Универсальные списки (lists)
- Управление масштабированием (scale).
7. Настройте CDN
Еще одна неоднозначная вещь, которая может как разогнать сайт, так и заставить его хорошенько притормозить. Что это такое?
Теория:
«Модуль Ускорение сайта (CDN), который позволяет загружать весь статический контент вашего сайта (картинки, файлы стилей css, скрипты js) через сеть дистрибуции контента (Content Delivery Network или Content Distribution Network, CDN). Тем самым значительная часть ресурсов сайта загружается посетителем с ближайшего к нему сервера. Это позволяет увеличить скорость загрузки страниц до нескольких раз.
Также подключение CDN снижает нагрузку на основные серверы сайта. Так как весь статический контент загружается посетителями вашего сайта не напрямую с ваших серверов, а с узлов CDN, которые умеют очень эффективно кэшировать контент, снижается количество обращений непосредственно к вашим серверам» (отсюда)Настраивается CDN здесь: Настройки → Облако 1С-Битрикс → Ускорение сайта (CDN).
Практика
Не все так однозначно: для кого-то включенный CDN дает реальный прирост производительности, а у кого-то, напротив, снижает скорость загрузки сайта. Выход один: тестировать и замерять результаты.
8. Включите объединение и сжатие CSS и JS-файлов
В настройках главного модуля сайта есть волшебный блок, который позволяют улучшить показатели скорости загрузки сайта. Называется он “Оптимизация CSS”. Отмечайте галочками все, сохраняйте изменения и тестируйте скорость загрузки страниц.
Как это все работает в деталях, читайте в нашей базе знаний. А оценить в количественных и качественных характеристиках эти «до» и «после» поможет старый добрый Google PageSpeed Insights.
optimyzer.ru
8 способов увеличить производительность сайта на 1С-Битрикс
Что будет, если нагрузить фуру и старую клячу грузом в 1 тонну? Правильно: первый поедет на максимальной скорости, а вторая не сможет сдвинуться с места. Так и сайты: у каждого из них свои требования к хостингу, конфигурации, настройкам платформы 1С-Битрикс.
Каждую неделю в нашу поддержку приходят жалобы на низкую скорость загрузки. В 99,9% случаев оказывается, что проблема кроется в слабеньком хостинге и неправильных настройках. Рассказываем, что делать, если сайт или интернет-магазин тормозит, и как правильно произвести диагностику и самостоятельно увеличить производительность — так, чтобы летал.
1. Оцените производительность
Модуль «Монитор производительности» 1С-Битрикс позволит протестировать производительность сайта и сравнить результаты с эталонными показателями. Он укажет на слабые места: сайт, CMS, конфигурация, некачественная разработка или хостинг. Вы можете развернуть ваш сайт или «чистый» 1С-Битрикс на разных площадках и сравнить эти цифры.Что нужно знать о показателях производительности:
- меньше 30 пунктов – забудьте про производительность и быструю загрузку страниц. Показателя «Очень быстро» вам не видать. Тормозить будет все!
- от 30 до 60 – подойдет для небольших проектов (корпоративные сайты или интернет магазины с небольшим количеством товаров, небольшим количеством SKU и параметров в умном фильтре)
- от 60 до 100 — конфигурация сервера приемлема, но не оптимальна. Подойдет для большинства проектов. Сайт работать будет, но не на сверхскоростях.
- от 100 – вы молодцы: не поленились выбрать нормальную хостинг площадку! Админка летает, большие объемы данных из 1С выгружаются на ура, страницы отдаются быстро. Вы спите спокойно и даже не думаете писать в техподдерожку с жалобами на проблемы с загрузкой сайта, ни разу не видели ошибок Request timeout или 502 Bad Gateway.
- 200 и выше – идеально!
Как протестировать сайт
Перейдите в панель производительности: Настройки → Производительность → Панель производительности. Нажмите кнопку «Тестирование производительности» и подождите несколько минут.2. Перейдите на PHP7
3 декабря 2015 года вышла седьмая версия PHP. Она разрабатывалась с упором на увеличение производительности и уменьшение потребления памяти. Тесты это убедительно показывают (пример 1, пример 2) — прирост производительности после перехода на новое ядро составляет от 40%!
Сидеть на старых версиях PHP — осложнять жизнь пользователю и делать этот интернет хуже. Если ваш хостинг не поддерживает PHP7, меняйте его (например, на этот с бесплатным переносом). Если ваш сайт не поддерживает PHP7, срочно исправляйтесь. А еще лучше, используйте решения с поддержкой PHP7 — например, от Аспро.
3. Настройте кеширование
Использовать композит и автокомпозит — это хорошо и правильно. Но просто включить их — полдела. Чтобы получить ощутимый прирост в скорости, нужно корректно задать время жизни кеша в зависимости от частоты обновления данных на сайте и посещаемости.Как не надо:
- Оставлять настройки по умолчанию (120 секунд).Почему: первый посетитель заходит на страницу товара. Формируется кеш. Второй посетитель заходит на сайт через час. Кеш нужно формировать заново — его время истекло. В итоге кеш генерируется каждый раз при открытии страницы. Прироста производительности и скорости не просто нет — она даже снижается.
- Не соотносить время жизни кеша с частотой обновления данных на сайте и посещаемости сайта.
- Задавать для отдельных разделов (новости, статьи) огромное время кеширования.
- Цены на сайте обновляются вручную или несколько раз в неделю. Рекомендуемое время кеширования: не менее 172800 секунд (2 суток).
- Цены на сайте обновляются один раз в день, выгрузка из 1С или другой системы складского учета происходит ночью. Рекомендуемое время кеширования: 86400 секунд (1 сутки).
- Нечасто, но бывает: цены обновляются через реал-тайм обмен с 1С и бывает, что несколько раз в течение дня. Рекомендуемое время кеширования: 7200 секунд (2 часа).
4. Создайте фасетные индексы для умного фильтра
Фасетные индексы ускоряют работу умного фильтра. Обычно умному фильтру нужно перебрать все товары каталога и сравнить их свойства с заданными параметрами. Если товаров много, такой процесс может занять определенное время. Фасета же заранее просчитывает и составляет варианты запросов, сохраняет в системе и выдает по запросу.
На словах все здорово, на деле — не очень: фасеты редко создают и используют. Попробуйте это сделать и сравните скорость загрузки результатов фильтрации. Инструкция в нашей документации
5. Проанализируйте и создайте индексы в базе данных
Индексы анализируются и создаются здесь: Настройки → Производительность → Индексы → Анализ индексов.
Нажмите на кнопку «Выполнить анализ собранных SQL запросов». Если появившиеся индикаторы зеленые, все в порядке: индексы созданы. Если индикаторы желтые, создайте их самостоятельно. Инструкция в мануалах 1С-Битрикс
6. Отключите неиспользуемые модули
При инциализации ядра 1С-Битрикс подключается большой список модулей. Они отнимают ресурсы, но при этом не нужны для полноценной работы сайта. Отключаем лишние модули — получаем прирост производительности. Перед тем, как это делать, обязательно сделайте резервную копию сайта.Какие модули используются редко и их можно отключить без последствий для работы сайта:
- AD/LDAP интеграция (ldap)
- Push and Pull (pull)
- Wiki (wiki)
- А/B-тестирование (abtest)
- Веб-аналитика (statistic)
- Веб-кластер (cluster)
- Веб-мессенджер (im)
- Веб-сервисы (webservice)
- Дизайнер бизнес-процессов (bizprocdesigner)
- Документооборот (workflow)
- Календарь событий (calendar)
- Конструктор отчетов (report)
- Менеджер идей (idea)
- Мобильная платформа (mobileapp) - если не подключено мобильное приложение
- Мобильное приложение для интернет-магазина (eshopapp) - если не подключено мобильное приложение
- Обучение (learning)
- Перевод (translate)
- Почта (mail)
- Техподдержка (support)
- Универсальные списки (lists)
- Управление масштабированием (scale).
7. Настройте CDN
Еще одна неоднозначная вещь, которая может как разогнать сайт, так и заставить его хорошенько притормозить. Что это такое?
Теория:
«Модуль Ускорение сайта (CDN), который позволяет загружать весь статический контент вашего сайта (картинки, файлы стилей css, скрипты js) через сеть дистрибуции контента (Content Delivery Network или Content Distribution Network, CDN). Тем самым значительная часть ресурсов сайта загружается посетителем с ближайшего к нему сервера. Это позволяет увеличить скорость загрузки страниц до нескольких раз.
Также подключение CDN снижает нагрузку на основные серверы сайта. Так как весь статический контент загружается посетителями вашего сайта не напрямую с ваших серверов, а с узлов CDN, которые умеют очень эффективно кэшировать контент, снижается количество обращений непосредственно к вашим серверам» (отсюда)Настраивается CDN здесь: Настройки → Облако 1С-Битрикс → Ускорение сайта (CDN).
Практика
Не все так однозначно: для кого-то включенный CDN дает реальный прирост производительности, а у кого-то, напротив, снижает скорость загрузки сайта. Выход один: тестировать и замерять результаты.
8. Включите объединение и сжатие CSS и JS-файлов
В настройках главного модуля сайта есть волшебный блок, который позволяют улучшить показатели скорости загрузки сайта. Называется он “Оптимизация CSS”. Отмечайте галочками все, сохраняйте изменения и тестируйте скорость загрузки страниц.
Как это все работает в деталях, читайте в нашей базе знаний. А оценить в количественных и качественных характеристиках эти «до» и «после» поможет старый добрый Google PageSpeed Insights.
bitrix.aura-web.ru
Монитор производительности Bitrix feat Vesta feat MySQL. Оптимизация
Многие большие проекты требуют качественного сервера, а именно VDS, я не буду вдаваться в тонкости выбора, отмечу что на хостинг-провайдере IHC меня все вполне устраивает из расчета цена/качество. Монитор производительности Bitrix показывает наименьшее количество ошибок и бОльшее количество попугаев, даже с дефолтной настройкой сервера.
Так вот
После регистрации аккаунта и установки сервера требуется настройка его под Bitrix, т.к. Монитор производительности будет сообщать об ошибках присутствующих на сервере, тем самым занижать количество попугаев.
ЧТО делать в данном случае — НАСТРАИВАТЬ сервер под Bitrix!
Первым делом проверка системы Bitrix в php.ini начиная от кодировки используемой на сайте, до максимального времени выполнения скриптов и прочего, отсюда, идем в php.ini и правим его согласно ошибкам, которые указал модуль проверки системы.
Для себя я уже создал конфиг под bitrix
выкладываю
[PHP] engine = On short_open_tag = On asp_tags = Off precision = 14 output_buffering = 4096 zlib.output_compression = Off implicit_flush = Off unserialize_callback_func = serialize_precision = 17 open_basedir = disable_functions = disable_classes = realpath_cache_size = 4096k zend.enable_gc = On expose_php = On max_execution_time = 30 max_input_time = 60 memory_limit = 512M error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT display_errors = on display_startup_errors = Off log_errors = On log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On track_errors = Off html_errors = On variables_order = "GPCS" request_order = "GP" register_argc_argv = Off auto_globals_jit = On post_max_size = 500M auto_prepend_file = auto_append_file = default_mimetype = "text/html" doc_root = user_dir = enable_dl = Off file_uploads = On upload_max_filesize = 512M max_file_uploads = 20 allow_url_fopen = On allow_url_include = Off default_socket_timeout = 60 [CLI Server] cli_server.color = On [Date] date.timezone = UTC [filter] [iconv] [intl] [sqlite] [sqlite3] [Pcre] [Pdo] [Pdo_mysql] pdo_mysql.cache_size = 2000 pdo_mysql.default_socket= [Phar] [mail function] sendmail_path = /usr/sbin/sendmail -t -i mail.add_x_header = On [SQL] sql.safe_mode = Off [ODBC] odbc.allow_persistent = On odbc.check_persistent = On odbc.max_persistent = -1 odbc.max_links = -1 odbc.defaultlrl = 4096 odbc.defaultbinmode = 1 [Interbase] ibase.allow_persistent = 1 ibase.max_persistent = -1 ibase.max_links = -1 ibase.timestampformat = "%Y-%m-%d %H:%M:%S" ibase.dateformat = "%Y-%m-%d" ibase.timeformat = "%H:%M:%S" [MySQL] mysql.allow_local_infile = On mysql.allow_persistent = On mysql.cache_size = 2000 mysql.max_persistent = -1 mysql.max_links = -1 mysql.default_port = mysql.default_socket = mysql.default_host = mysql.default_user = mysql.default_password = mysql.connect_timeout = 60 mysql.trace_mode = Off [MySQLi] mysqli.max_persistent = -1 mysqli.allow_persistent = On mysqli.max_links = -1 mysqli.cache_size = 2000 mysqli.default_port = 3306 mysqli.default_socket = mysqli.default_host = mysqli.default_user = mysqli.default_pw = mysqli.reconnect = Off [mysqlnd] mysqlnd.collect_statistics = On mysqlnd.collect_memory_statistics = Off [OCI8] [PostgreSQL] pgsql.allow_persistent = On pgsql.auto_reset_persistent = Off pgsql.max_persistent = -1 pgsql.max_links = -1 pgsql.ignore_notice = 0 pgsql.log_notice = 0 [Sybase-CT] sybct.allow_persistent = On sybct.max_persistent = -1 sybct.max_links = -1 sybct.min_server_severity = 10 sybct.min_client_severity = 10 [bcmath] bcmath.scale = 0 [browscap] [Session] session.save_handler = files session.use_strict_mode = 0 session.use_cookies = 1 session.use_only_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.cookie_httponly = session.serialize_handler = php session.gc_probability = 1 session.gc_divisor = 1000 session.gc_maxlifetime = 1440 session.referer_check = session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 session.hash_function = 0 session.hash_bits_per_character = 5 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" [MSSQL] mssql.allow_persistent = On mssql.max_persistent = -1 mssql.max_links = -1 mssql.min_error_severity = 10 mssql.min_message_severity = 10 mssql.compatibility_mode = Off mssql.secure_connection = Off [Assertion] [mbstring] mbstring.internal_encoding = UTF-8 mbstring.func_overload = 0 [gd] [exif] [Tidy] tidy.clean_output = Off [soap] soap.wsdl_cache_enabled=1 soap.wsdl_cache_dir="/tmp" soap.wsdl_cache_ttl=86400 soap.wsdl_cache_limit = 5 [sysvshm] [ldap] ldap.max_links = -1 [mcrypt] [dba] [curl] [openssl]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | [PHP] engine = On short_open_tag = On asp_tags = Off precision = 14 output_buffering = 4096 zlib.output_compression = Off implicit_flush = Off unserialize_callback_func = serialize_precision = 17 open_basedir = disable_functions = disable_classes = realpath_cache_size = 4096k zend.enable_gc = On expose_php = On max_execution_time = 30 max_input_time = 60 memory_limit = 512M error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT display_errors = on display_startup_errors = Off log_errors = On log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On track_errors = Off html_errors = On variables_order = "GPCS" request_order = "GP" register_argc_argv = Off auto_globals_jit = On post_max_size = 500M auto_prepend_file = auto_append_file = default_mimetype = "text/html" doc_root = user_dir = enable_dl = Off file_uploads = On upload_max_filesize = 512M max_file_uploads = 20 allow_url_fopen = On allow_url_include = Off default_socket_timeout = 60
[CLI Server] cli_server.color = On
[Date] date.timezone = UTC
[filter]
[iconv]
[intl]
[sqlite]
[sqlite3]
[Pcre]
[Pdo]
[Pdo_mysql] pdo_mysql.cache_size = 2000 pdo_mysql.default_socket=
[Phar]
[mail function] sendmail_path = /usr/sbin/sendmail -t -i mail.add_x_header = On
[SQL] sql.safe_mode = Off
[ODBC] odbc.allow_persistent = On odbc.check_persistent = On odbc.max_persistent = -1 odbc.max_links = -1 odbc.defaultlrl = 4096 odbc.defaultbinmode = 1
[Interbase] ibase.allow_persistent = 1 ibase.max_persistent = -1 ibase.max_links = -1 ibase.timestampformat = "%Y-%m-%d %H:%M:%S" ibase.dateformat = "%Y-%m-%d" ibase.timeformat = "%H:%M:%S"
[MySQL] mysql.allow_local_infile = On mysql.allow_persistent = On mysql.cache_size = 2000 mysql.max_persistent = -1 mysql.max_links = -1 mysql.default_port = mysql.default_socket = mysql.default_host = mysql.default_user = mysql.default_password = mysql.connect_timeout = 60 mysql.trace_mode = Off
[MySQLi]
mysqli.max_persistent = -1 mysqli.allow_persistent = On mysqli.max_links = -1 mysqli.cache_size = 2000 mysqli.default_port = 3306 mysqli.default_socket = mysqli.default_host = mysqli.default_user = mysqli.default_pw = mysqli.reconnect = Off
[mysqlnd] mysqlnd.collect_statistics = On mysqlnd.collect_memory_statistics = Off
[OCI8]
[PostgreSQL] pgsql.allow_persistent = On pgsql.auto_reset_persistent = Off pgsql.max_persistent = -1 pgsql.max_links = -1 pgsql.ignore_notice = pgsql.log_notice =
[Sybase-CT] sybct.allow_persistent = On sybct.max_persistent = -1 sybct.max_links = -1 sybct.min_server_severity = 10 sybct.min_client_severity = 10
[bcmath] bcmath.scale =
[browscap]
[Session] session.save_handler = files session.use_strict_mode = session.use_cookies = 1 session.use_only_cookies = 1 session.name = PHPSESSID session.auto_start = session.cookie_lifetime = session.cookie_path = / session.cookie_domain = session.cookie_httponly = session.serialize_handler = php session.gc_probability = 1 session.gc_divisor = 1000 session.gc_maxlifetime = 1440 session.referer_check = session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = session.hash_function = session.hash_bits_per_character = 5 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[MSSQL] mssql.allow_persistent = On mssql.max_persistent = -1 mssql.max_links = -1 mssql.min_error_severity = 10 mssql.min_message_severity = 10 mssql.compatibility_mode = Off mssql.secure_connection = Off
[Assertion]
[mbstring] mbstring.internal_encoding = UTF-8 mbstring.func_overload =
[gd]
[exif]
[Tidy] tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1 soap.wsdl_cache_dir="/tmp" soap.wsdl_cache_ttl=86400 soap.wsdl_cache_limit = 5
[sysvshm]
[ldap] ldap.max_links = -1
[mcrypt]
[dba]
[curl]
[openssl] |
Данный код вставляем в файл php.ini
Скорректированы все параметры под Bitrix
*При условии что сайт работает в кодировке UTF-8, замените: [mbstring] на 1251, если ваш сайт в данной кодировке.
Настройка my.conf
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 skip-external-locking key_buffer_size = 256M max_allowed_packet = 32M table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size= 16M thread_concurrency = 8 #innodb_use_native_aio = 0 innodb_file_per_table max_connections=200 max_user_connections=50 wait_timeout=10 interactive_timeout=50 long_query_time=5 #slow_query_log=1 #slow_query_log_file=/var/log/mysql-slow-queries.log [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid # # include all files from the config directory # !includedir /etc/my.cnf.d
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=
skip-external-locking key_buffer_size = 256M max_allowed_packet = 32M table_open_cache = 256 sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 4M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size= 16M thread_concurrency = 8
#innodb_use_native_aio = 0 innodb_file_per_table
max_connections=200 max_user_connections=50 wait_timeout=10 interactive_timeout=50 long_query_time=5
#slow_query_log=1 #slow_query_log_file=/var/log/mysql-slow-queries.log
[mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid
# # include all files from the config directory # !includedir /etc/my.cnf.d |
Также замените содержимое файла my.conf на то что я указал
Таким образом практически все ошибке в Мониторе и в модуле проверки системы мы исключаем, необходимо еще установить прекомпилятор, чтобы на сервер не было большой нагрузки, устанавливаем zend opcache
Поочереди в терминале (Putty) выполняем установку, просто копируйте построчно и вставляйте в окно терминала, простым нажатием на правую кнопку мыши
yum install php-pear yum --enablerepo=remi install php-devel gcc wget http://pecl.php.net/get/zendopcache-7.0.4.tgz pecl install zendopcache-7.0.4.tgz echo "zend_extension=/usr/lib64/php/modules/opcache.so" > /etc/php.d/opcache.ini /etc/init.d/httpd restart yum install php-opcache
yum install php-pear yum --enablerepo=remi install php-devel gcc wget http://pecl.php.net/get/zendopcache-7.0.4.tgz pecl install zendopcache-7.0.4.tgz echo "zend_extension=/usr/lib64/php/modules/opcache.so" > /etc/php.d/opcache.ini /etc/init.d/httpd restart yum install php-opcache |
Сделано. Идем дальше.
После установки zand opcache в папке (под доступом root) /etc/php.d должен появиться файл 10-opcache.ini, если не появился обновите содержимое папки рефрешем, если и так не появился, то просто создайте такой файл со следующим содержимым:
zend_extension=opcache.so opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=100000 opcache.revalidate_freq=0 opcache.blacklist_filename=/etc/php.d/opcache*.blacklist
zend_extension=opcache.so opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=100000 opcache.revalidate_freq= opcache.blacklist_filename=/etc/php.d/opcache*.blacklist |
Монитор производительности может ругнуться на значение параметра: opcache.max_accelerated_files. Увеличте его до 100000 с вашего значения.
На этом ваш прекомпелятор установлен и настроен, теперь ошибок в системе быть не должно. Монитор производительности Bitrix покажет рекомендуемое количество попугаев.
После редактирования файлов не забудьте перезапустить сервер. Перезагрузку можно запустить прям из терминала командой reboot
После того как запустите проект, зайдите в меню производительность — Сервер БД, все параметры которые окажутся красными вы легко можете отредактировать в файле /etc/my.cnf
Статья будет обновлена чуть позже, сделал заметку чтобы не забыть пока делается проект, да и помочь тем кто нуждается.
Всегда Ваш Ковальски
bxall.ru