Сертификация Bitrix: ответы теста курса "Конфигурирование веб-систем для оптимальной работы"
Неправильные ответы зачеркнуты вот так.
Вопросы и ответы каждый раз выводятся в разном порядке.
По этому списку тест проходится на 230 ил 240 баллов. Если подскажете где ошибка, буду премного благодарен.
Back-end это:
Соединение с базой данных по имени localhost позволяет:
Какие возможности MySQL стоит использовать для улучшения производительности?
Front-end позволяет:
Сжатие страниц модулем компрессии позволяет:
При настройке Oracle желательно:
Время ожидания между Front-end и Back-end должно быть достаточно большим, чтобы:
«Большим» можно назвать проект, если наблюдается:
Для ускорения работы PHP интерпретатора рекомендуется:
Определите, где и как выполняется PHP-скрипт:
Front-end это:
Значение MaxClients надо подбирать так, чтобы:
Какой тип таблиц MySQL рекомендуется использовать для улучшения производительности при больших нагрузках?
Чтобы обеспечить передачу реального IP адреса с Front-end в Back-end, необходимо:
Статические файлы на веб-сайте это:
Если веб-сервер сам передает данные пользователю после их создания, то:
Для соединения с базой данных PHP использует:
Порядок работы Back-end:
Тип соединения с базой данных устанавливается:
Если на сервере одновременно запускается много процессов веб-сервера, то возможно:
Постоянное соединение с базой данных предпочтительнее, потому что:
В результате построения двухуровневой архитектуры и выполнения ряда рекомендаций мы должны получить следующие результаты:
Использование общего веб-сервера для обработки PHP программ и статических файлов:
Вопросы и ответы каждый раз выводятся в разном порядке.
По этому списку тест проходится на 230 ил 240 баллов. Если подскажете где ошибка, буду премного благодарен.
Вопросы:
- Для стабилизации системы по расходу памяти и для ограничения числа одновременно запущенных процессов Back-end нужно установить
- Back-end это
- Соединение с базой данных по имени localhost позволяет
- Какие возможности MySQL стоит использовать для улучшения производительности?
- Front-end позволяет
- Сжатие страниц модулем компрессии позволяет
- При настройке Oracle желательно
- Время ожидания между Front-end и Back-end должно быть достаточно большим, чтобы
- «Большим» можно назвать проект, если наблюдается
- Для ускорения работы PHP интерпретатора рекомендуется
- Определите, где и как выполняется PHP-скрипт
- Front-end это
- Значение MaxClients надо подбирать так, чтобы
- Какой тип таблиц MySQL рекомендуется использовать для улучшения производительности при больших нагрузках?
- Чтобы обеспечить передачу реального IP адреса с Front-end в Back-end, необходимо
- Статические файлы на веб-сайте это
- Если веб-сервер сам передает данные пользователю после их создания, то
- Для соединения с базой данных PHP использует
- Порядок работы Back-end
- Тип соединения с базой данных устанавливается
- Если на сервере одновременно запускается много процессов веб-сервера, то возможно
- Постоянное соединение с базой данных предпочтительнее, потому что
- В результате построения двухуровневой архитектуры и выполнения ряда рекомендаций мы должны получить следующие результаты
- Использование общего веб-сервера для обработки PHP программ и статических файлов
Ответы:
Для стабилизации системы по расходу памяти и для ограничения числа одновременно запущенных процессов Back-end нужно установить:- MaxClients
MinSpareServersStartServers
Back-end это:
- обычный веб-сервер Apache с установленным обработчиком PHP
база данных MySQL/Oracle/MSSQLобычный веб-сервер Apache, только с неустановленным обработчиком PHPпрокси-сервер или облегченный веб-сервер без PHP
Соединение с базой данных по имени localhost позволяет:
- гарантированно соединиться с базой данных, установленной на локальной машине
- соединиться с базой данных без использования стека TCP/IP, что ускоряет работу
Какие возможности MySQL стоит использовать для улучшения производительности?
- отложенные транзакции для InnoDB (innodb_flush_log_at_trx_commit)
- многопотоковую (multithreading) сборку MySQL
- при использовании InnoDB обязательно конфигурировать переменные innodb_*
Front-end позволяет:
- существенно уменьшить потребление оперативной памяти при обработке статических файлов
- уменьшить число запросов к Back-end за счет самостоятельной обработки статических файлов
- снять зависимость производительности системы от медленных каналов пользователей
уменьшить число соединений к базе данныхувеличить производительность PHPзащитить систему от медленных каналов пользователей и ускорить время выполнения запросов к базе данных
Сжатие страниц модулем компрессии позволяет:
- ускорить загрузку страниц пользователями сайта
снизить нагрузку на процессорыускорить установку обновления программного продукта по технологии SiteUpdateускорить работу PHP прекомпилятора и сделать работу пользователей более комфортной
При настройке Oracle желательно:
- использовать постоянное соединение при правильно настроенной двухуровневой архитектуре FrontEnd/BackEnd
- использовать отложенные транзакции (Enhanced COMMIT) для Oracle 10g R2
- использовать протокол IPC, если Oracle размещен на той же машине, что и веб-сервер
Время ожидания между Front-end и Back-end должно быть достаточно большим, чтобы:
- дождаться завершения работы длительных запросов к Back-end
- чтобы дождаться освобождения процессов Back-end, если все они заняты обработкой текущих запросов
чтобы передать всю страницу пользователю на медленных каналах
«Большим» можно назвать проект, если наблюдается:
- большие интерактивные проекты: форумы, блоги, журналы
- большие объемы данных
- индивидуальные страницы для отдельных пользователей
- невозможность кэшировать страницы в силу сложной бизнес-логики
- высокие пиковые нагрузки
- недостаточность аппаратных ресурсов по отношению к предыдущим факторам
- большая посещаемость проекта в среднесуточном выражении
Для ускорения работы PHP интерпретатора рекомендуется:
- использовать прекомпилятор PHP
максимально ускорить работу базы данныхнастраивать Front-end и Back-end конфигурацию
Определите, где и как выполняется PHP-скрипт:
- PHP-скрипт выполняется только на сервере и является интерпретируемым языком
PHP-скрипт выполняется только на сервере и представляет собой отдельную программу, которая компилируется и выполняется только один раз в момент первого запускаPHP-скрипт выполняется практически всегда на сервере, но в некоторых случаях может быть выполнен браузером
Front-end это:
- компактный веб-сервер или кэширующий прокси-сервер
обычный веб-сервер Apache с подключенным обработчиком PHP
Значение MaxClients надо подбирать так, чтобы:
- даже при стрессовых нагрузках запущенные процессы Back-end потребляли в среднем не более 90% процессорных ресурсов
- MaxClients должен быть меньше или равен максимальному числа соединений с базой данных
- объем используемой памяти процессами Back-end никогда не превышал объем свободной оперативной памяти
число процессов Back-end было всегда больше максимального одновременного числа запросов к сайту
Какой тип таблиц MySQL рекомендуется использовать для улучшения производительности при больших нагрузках?
- InnoDB
MyISAM
Чтобы обеспечить передачу реального IP адреса с Front-end в Back-end, необходимо:
- установить модуль mod_realip для веб-сервера Apache
- произвести в Back-end замену переменной REMOTE_ADDR на значение переменной HTTP_X_FORWARDED_FOR которая передается из Front-end
отключить KeepAlive в Back-end
Статические файлы на веб-сайте это:
- JavaScript файлы
- таблицы стилей css
- страницы HTML, которые не содержат программный код
- XML файлы, PowerPoint (PPT), Microsoft Word (DOC), PDF
- все графические файлы: gif, jpg, png, bmp
PHP страницы и страницы программного продукта «Битрикс»музыкальные MP3 файлы и PHP скрипты
Если веб-сервер сам передает данные пользователю после их создания, то:
- число обработанных веб-сервером запросов напрямую зависит от скорости Интернет-канала посетителей сайта
число обработанных запросов очень несущественно зависит от скорости Интернет-канала пользователячисло обработанных запросов зависит только от производительности процессоров
Для соединения с базой данных PHP использует:
- встроенные библиотеки PHP для данного типа базы данных
собственный обработчик соединений Битрикс для данного типа базы данных
Порядок работы Back-end:
- получает запросы от Front-end и передает готовые (сгенерированные) страницы Front-end для передачи их пользователям
получает запросы от Front-end и передает готовые страницы и статические файлы пользователямполучает запросы от пользователей, обрабатывает и передает данные Front-end для передачи их пользователямполучает запросы от Front-end и передает готовые страницы и статические файлы Front-end для передачи их пользователям
Тип соединения с базой данных устанавливается:
- в файле /bitrix/php_interface/dbconn.php константой DBPersistent
в любом месте продукта конструкцией define(«DBPersistent», true);в файле dbconn.php конструкцией define(«DBPersistent», yes);
Если на сервере одновременно запускается много процессов веб-сервера, то возможно:
- превышение установленного максимума для одновременных соединений к базе данных
- из-за нехватки оперативной памяти процессы будут вытесняться в виртуальную память и общая производительность системы резко упадет
- значительное снижение производительности системы из-за нехватки процессорных ресурсов для одновременного выполнения всех процессов
новые процессы будут размещаться в виртуальной памяти, общая производительность системы снизится очень незначительноперезапуск веб-серверазакончится место на диске
Постоянное соединение с базой данных предпочтительнее, потому что:
- соединение к базе данных всегда открыто и тратится меньше времени и ресурсов на повторное открытие соединений
SQL запросы исполняются быстреебаза данных потребляет меньше оперативной памяти и больше памяти остается для кэширования данных
В результате построения двухуровневой архитектуры и выполнения ряда рекомендаций мы должны получить следующие результаты:
- в стрессовой ситуации система будет стабильно и равномерно обрабатывать запросы, Back-end не будет увеличивать число одновременно выполняемых процессов выше установленного лимита MaxClients, Front-end будет принимать все запросы от пользователей и ожидать освобождения процессов Back-end
- пользователи комфортно работают со сжатыми страницами
- использование процессорных ресурсов ограничено числом одновременно работающих процессов Back-end в соответствии с MaxClients; не начнется регрессия производительности;
- возможно безопасное использование постоянного соединения с базой данных без опасения превысить число возможных соединений; в памяти все время находится установленное число Back-end процессов, готовых к обработке запросов и с установленным соединением с базой данных;
- процессорные ресурсы существенно высвобождены за счет прекомпиляции PHP-кода
система стабилизирована по расходу памяти при запуске; Front-End и Back-End занимают заранее отведенный объем памяти, а при увеличении нагрузки будут использовать виртуальную память
Использование общего веб-сервера для обработки PHP программ и статических файлов:
- неэффективное решение из-за большого и неэффективного использования оперативной памяти веб-сервером для обработки статических файлов
неэффективное решение из-за наличия задержек при определении типа файлов: статические или PHP программыэто лучшее решение для обеспечения оптимального расходования оперативной памяти
2 комментария
Здесь все ответы — правильные:
+ отложенные транзакции для InnoDB (innodb_flush_log_at_trx_commit)
+ многопотоковую (multithreading) сборку MySQL
+ при использовании InnoDB обязательно конфигурировать переменные innodb_*