Экспертная лаборатория Бланк заявки для анализа производительности приложения «1С-Битрикс» № 1 Вопрос Ответ Название проекта 1. Вопросы по разработке и внедрению 1.1 В чём проявляется проблема с производительностью (опишите своими словами, например, медленно открывается страница «...», медленно работает фотогалерея, длительный поиск)? Старая версия сайта в самый пик нагрузки с 8 до 10 вечера не открывалась и падал apache, скрипт его перегружал и через какое-то время (10-15 минут) сайт опять падал. Количество процессов apache существенно росло и происходило падение. Мы запустили новую версию сайта нагрузка усреднилась за счет оптимизации кода и более грамотного кеширования. Проблемы были с ddos атаками на сайт, т.е. простое частое обновление страницы его вешало. Сейчас на уровне nginx и системного netstat написаны скрипты, которые определяют такие запросы и заносят пользователя в бан. Проект растет, планируется несколько новых популярных сервисов. А так же планируется масштабирование. 1.2 Разработкой и внедрением занимался внешний разработчик или собственная ИТ служба? Если сторонняя компания, то кто именно? Собственные силы 1.3 Чем руководствовались при выборе оборудования для проекта? Его наличием и сроками поставки. № Вопрос Ответ 1.4 Проводилось ли нагрузочное тестирование перед внедрением? Если да, то, какие были условия тестирования? Да, производили с помощью Apache Bench. 1.5 Был ли проведён анализ качества внедрения? Если да, то Монитор производительности. какие инструменты для этого использовались (монитор Пользователи сайта. производительности, внешние инструменты)? CSS и html валидаторы. 1.6 Вносились ли изменения в код ядра продукта (модули /bitrix/modules и системные компоненты /bitrix/components/bitrix)? Если да, то с какой целью? Не вносились 1.7 Какая версия продукта установлена? Есть ли возможность установить актуальные обновления? Редакция продукта: Бизнес Установлены все последние обновления и есть возможность установить другие последние обновления. 1.8 Установлены ли в продукт сторонние модули? Если да, то IPB Login (интеграция битрикса и форума IPB) какие? Invision Power Board login module by IBResource.ru 1.9 Используются ли в проекте «Инфоблоки+»? Если да, создавались ли на них дополнительные индексы? Нет, не используются. 2. Конфигурация веб-сервера 2.1 С вашей точки зрения, в чём могут быть особенности вашего веб-сайта, замедляющие работу: большой объём данных, высокая посещаемость, сложная бизнес-логика, частые загрузки большого количества данных, нестандартные процедуры обмена данными...? Особенность заключается в том, что среди наших посетителей есть как “быстрые” клиенты, так и “медленные”, которые долго используют процессорное время. Активные продавцы через свой инструмент заносят заявки на подключения. На сервере базы данных так же располагается база форума. 2.2 Какова средняя текущая нагрузка вашего сайта (количество посетителей/хитов в сутки)? Посетителей 20 000-25 000, хитов 150 000 – 190 000. 2.3 Какова планируемая нагрузка в течение ближайших 6 месяцев? Увеличение нагрузки в 4-5 раз. 2.4 Конфигурация веб-сервера: № Вопрос Ответ Операционная система, архитектура (например, Linux, x86_64) Linux OpenSuse, x86_64 Кол-во процессоров процессор (4 ядра) - 2 шт. Объём ОЗУ 8 Гб ОЗУ Кол-во и объём жёстких дисков, уровень RAID 2 диска SATA 700 Gb RAID 1 , 2 диска SAS 146 Gb RAID 1 2.5 Используется ли на сайте двухуровневая архитектура Front-End + Back-End (для достижения высокой производительности рекомендуется использовать двухуровневую архитектуру с использованием nginx в качестве Front-End сервера)? 2.6 Параметры веб-сервера Apache, важные для производительности Да, используется. Front-End – Nginx 0.8.52 Back-End – Apache 2.2.13 MaxClients 50 StartServers 5 MinSpareServers 5 MaxSpareServers 10 KeepAlive off 2.7 Установлен ли прекомпилятор PHP-кода? Если да, то какой (APC, Eaccelerator, Xcache, Zend Server CE) Xcache 1.3.0 2.8 Как сохраняются файлы PHP-сессий (Используется ли виртуальный диск в памяти (tmpfs) или TurckMMCache, параметр session.save_handler=mm в php.ini), используется ли хранение сессий в БД? параметр session.save_handler=mm в php.ini параметр session.save_handler=files № 2.9 Вопрос Ответ Используется ли сжатие страниц (компрессия)? Если да, какой способ используется: mod_deflate, модуль компрессии "Битрикс"? 2.10 Какая пропускная способность канала подключения сервера к Интернету? Компрессия Битрикс. nginx gzip 1 Гбит 3. Конфигурация базы данных 3.1 Какой объём БД проекта сейчас, планируемый рост в течение 6 месяцев? 400 Мб сейчас, ориентировочно планируется 450-500. 3.2 Используется ли отдельный сервер для базы данных Да, используется. (рекомендуется рассматривать, начиная от нагрузки более 50000 посетителей / 500000 хитов) в сутки, зависит от размеров БД и сложности приложений)? 3.3 Конфигурация сервера БД (если отдельный от веб): Как подключен к веб серверу (какой канал)? выделенный 1 Гб Операционная система, архитектура (например, Linux, x86_64) Linux, x86_64 Кол-во процессоров 1 Объём ОЗУ 4 Гб Кол-во и объём жёстких дисков, уровень RAID уровень RAID 2 диска SATA 250 Gb RAID 1 3.4 Установлено ли постоянное соединение с БД (параметр define("DBPersistent", true); в файле /bitrix/php_interface/dbconn.php)? Текущее значение define("DBPersistent", false); 3.5 Какой тип БД используется (MySQL / MSSQL / Oracle)? MySQL 3.6 Если MySQL, какой используется формат данных (MyISAM, InnoDB)? 98% в формате InnoDB, 2% в MyISAM. № 3.7 3.8 Вопрос Ответ Параметры базы данных (для MySQL): (mysql> show variables like '%***%';) table_cache 14144 key_buffer_size 33554432 sort_buffer_size myisam_sort_buffer_size 8388608 sort_buffer_size 4194304 read_buffer_size 1048576 query_cache_size 33554432 query_cache_type ON tmp_table_size 268435456 max_heap_table_size 268435456 tx_isolation READ-COMMITTED innodb_buffer_pool_size 1073741824 innodb_additional_mem_pool_size 8388608 innodb_file_io_threads 8 innodb_lock_wait_timeout 50 innodb_log_buffer_size 1048576 innodb_log_file_size 5242880 innodb_flush_log_at_trx_commit 2 Параметры базы данных (для Oracle): (SQL> show parameter cursor_sharing) - № Вопрос Ответ Используется ли автоматическое управление разделяемой памятью (ASSM, рекомендуется, начиная с версии Oracle 10g)? - cursor_sharing - commit_write - db_block_checksum - session_cached_cursors - parallel_max_servers - open_cursors - optimizer_mode 4. Организационные вопросы 4.1 Административный доступ к сайту admin / 123456 4.2 Терминальный доступ к веб серверу (SSH / RDP) ssh.example.com порт 5922, root / 32rfn2nv802 4.3 Терминальный доступ к базе данных (для отдельного сервера) 4.4 Разрешаете ли вы нашим экспертам самостоятельно вносить изменения в конфигурацию серверного ПО (с последующим протоколированием)? 4.5 Разрешаете ли вы вносить изменения в код ядра продукта Да, с условием того, что сайт будет работать. и устанавливать обновления системы? 4.6 Разрешаете ли вы перенести проект на тестовую машину? Если да, готовы ли вы предоставить тестовую машину? Да, тестовая машина имеется. Мы можем предоставить доступ на нее. 4.7 В какое время можно делать тяжелые операции с сайтом (оптимизация таблиц, создание индексов и пр.)? После 18 часов по московскому времени Да, с возможностью откатиться назад. № Вопрос Ответ 4.8 Контакты админимтраторов и разработчиков для оперативной связи (ICQ, Skype, jabber или тел.) Администратор Михаил, ICQ: 123456, skype:echo_test Программист Сергей, ICQ:123457, skype: echo_test7 4.9 Почтовый адрес для пересылки бумажных документов г. Калининград, 236001, а/я 213