Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемconf.1c-bitrix.ru
1 Александр Демидов «1С-Битрикс» Производительность проектов на платформе «1С-Битрикс»
2 Основной приоритет Качество обслуживания клиентов!
3 Производительность проекта Производительность проекта зависит от трех составляющих: Конфигурация сервера или настройки хостинга и его общая производительность Настройки платформы, которые влияют на производительность (автокеширование, html- кеш, параметры поиска) Качество разработки, интеграции с платформой, которая выполняется веб-разработчиком
4 Ошибки и проблемы на любом из трех этапов вызывают неудовлетворенность клиента относительно всего проекта! 1. Хостинг 2. CMS 3. Веб-разработчик
5 1. Хостинг
6 Конфигурация сервера Ошибки конфигурирования по-прежнему являются одним из основных препятствием для достижения максимальной производительности. Типовые ошибки/проблемы/недостатки конфигурации: PHP как CGI open_basedir Не установлен прекомпилятор PHP Недостаточно памяти прекомпилятору Медленная файловая система Отсутствует FrontEnd (nginx) ngnix есть, но всю статику запрашивает у Apache Не отрегулировано значение MaxClients в Apache И т.д.
7 Очень мало правильных конфигураций Даже наличие максимально полной документации и практических рекомендаций по настройке серверов не решает проблему производительности! Почему? Низкая квалификация технических специалистов Отсутствие времени для «тонкой» настройки «Историческое наследие» – использование конфигураций 3-5-…-летней давности, в лучшем случае – апгрейд ПО Сложность адаптации виртуального «разделяемого» (shared) хостинга Шаблонные конфигурации для всех проектов
8 «1С-Битрикс: Виртуальная машина» «1С-Битрикс: Виртуальная машина» выпущена в 2009 году. Версии 1.x существовали в виде образа VMware. Виртуальная машина эмулирует работу реального сервера и включает в себя: сконфигурированную операционную систему, веб-сервер, базу данных, firewall, почтовый сервер, а также большое число настроек, от которых зависит надежность, производительность и безопасность веб-проекта.
9 «1С-Битрикс: Веб-окружение» Следующий шаг (2010 год): bitrix-env.rpm – пакет для установки и настройки Linux окружения и продуктов «1С-Битрикс»: mysql-server 5.1.х httpd-server (Apache 2.2.х) zend-server-ce-php mod-php nginx memcached catdoc xpdf Поддерживаемые платформы: Fedora 8-14 (i386) CentOS 5 (i386, x86_64) Red Hat Enterprise Linux 5 (i386, x86_64)
10 «1С-Битрикс: Веб-окружение» Минимальные расходы на развертывание оптимальной конфигурации Наилучшая производительность Сбалансированность под большие нагрузки Автоматическое конфигурирование под ресурсы сервера Проверено нагрузочными тестами Проверено отделом безопасности Оптимизировано для работы корпоративного портала Инсталлятор продуктов «1С-Битрикс» Бесплатно! Экономит часов администрирования.
11 Технологии виртуальных машин VMware - наиболее развитая технология, поддержка любых ОС, отсутствуют специфические требования к аппаратному обеспечению Virtuozzo Parallels - коммерческая технология виртуализации на уровне ядра Linux, поддерживается Linux, windows, целенаправленно разработана для ISP HyperV - технология Microsoft тесная интеграция с технологией виртуализации от Intel, предназначена для виртуализации Windows серверов и ограниченного перечня дистрибутивов Linux Amazon Elastic Compute Cloud (Amazon EC2) - реализованная технология cloud computing, упор сделан на оплате использованных ресурсов: процессора, дисков, сети
12 Использование веб-окружения и виртуальных машин Запуск виртуальной машины (VMware player) на имеющемся парке Windows- серверов Установка веб-окружения на собственном (или арендованном сервере) Установка веб-окружения на VPS Аренда виртуальной машины (или VPS с предустановленным веб- окружением) у хостинг-провайдеров Использование в «облачных» средах (Amazon, Scalaxy и т.д.)
13 2. CMS
14 функционал производительность интерфейс безопасность
15 Производительность платформы Настройки платформы «1С-Битрикс», которые влияют на производительность: Автокеширование компонентов HTML кеш Управляемый кеш Варианты хранения кеша Варианты хранения сессий Использование различных модулей Использование закодированных модулей
16 Настройки кеширования Автокеширование компонентов ускоряет сайт в несколько раз и сводит к минимуму количество SQL- запросов и PHP-кода Управляемый кеш (Сache Dependencies) автоматически обновляет кеш компонентов при изменении данных HTML кеш – эффективен для статичных данных, а также для разрешения проблем, связанных с пиковой посещаемостью («хабраэффект», DDoS)
17 Модули продукта Эффективность – всегда баланс между функционалом и производительностью. Среднее влияние модулей на скорость генерации страниц: «Веб-аналитика» – 15% «Проактивная защита» (WAF) – 3% «Веб-антивирус» – 5% Все прочие модули – 3%
18 Закодированный код / модули 2010 год – отказ от использования закодированных исходных кодов. Теперь даже демо-версии – в открытых кодах! Не требуется Zend Optimizer Повышение производительности (более эффективная работа прекомпиляторов PHP) Подходит больше хостингов Плюс для хостеров FreeBSD, т.к. Zend прекратила поддержку этой платформы
19 3. Веб-разработка
20 Самые частые ошибки Отключенное автокеширование Явно выключенное кеширование компонентов Собственные компоненты не поддерживают кеширование
21 Рекомендации разработчикам В шаблонах сайта используйте стандартные компоненты меню с кешированием Разрабатывая сайт, используйте либо стандартные, либо собственные индивидуальные компоненты Используйте API продукта, крайне нежелательны прямые запросы к базе данных В настройках компонентов указывайте значение кеширования «Авто+Управляемое» с большим временем кеширования В режиме Автокеширования компоненты должны выполнять минимум запросов к базе данных (в идеале – 0) Не выбирайте неиспользуемые данные, чтобы не создавать неэффективные большие файлы кеша компонентов
22 Анализ производительности системы Выполненный указанный сценарий решает проблемы 97% сайтов! И только для 2-3% требуется детальный анализ логики проекта, запросов, анализ сложной бизнес-логики. Шаг 1: Анализ конфигурации Шаг 2: Анализ конфигурации «1С-Битрикс» Шаг 3: Предварительная оценка качества разработки Шаг 4: Итоговый анализ показателей
23 Замеры на вашей конфигурации Эталонные замеры производительности, которые используются «Монитором производительности», выполнены на виртуальной машине.
24 Замеры на вашей конфигурации
26 Режим отладки - время создания страницы
27 Масштабирование Мы уже умеем масштабировать веб-приложение (несколько бэкендов, любой фронтенд, распределяющий нагрузку, хранение сессий в базе). Для масштабирования базы используется кластер (MSSQL, Oracle). В ближайших версиях – поддержка репликаций в MySQL (а также поддержка разделения проекта по нескольким базам: «Проект», «Веб-аналитика», «Поиск» и т.д.). Пул соединений в dbconn.php – нет необходимости в модификации разработанных решений. 1. Веб-сервер 2. База данных
28 Нагрузочное тестирование Нагрузочное тестирование - обязательный этап в завершении настройки. Нагрузочное тестирование является важнейшей процедурой подготовки крупного проекта к открытию. Нагрузочное тестирование позволяет определить предел работоспособности созданного проекта именно на выбранном оборудовании. Зачастую, простые корректировки конфигурации могут ускорить проект в 5-10 раз и сделать его устойчивым к стрессовым нагрузкам.
29 Проекты с высокой нагрузкой
30 Подробно о производительности: /
31 Спасибо за внимание! Вопросы? :) Александр Демидов +7 (915)
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.