Курс для хостеров. Конфигурирование веб-систем

Время ожидания между Front-end и Back-end должно быть достаточно большим, чтобы
Ответ:

  • дождаться завершения работы длительных запросов к Back-end
  • дождаться освобождения процессов Back-end, если все они заняты обработкой текущих запросов

Для ускорения работы PHP интерпретатора рекомендуется
Ответ:использовать прекомпилятор PHP


Front-end — это
Ответ:компактный веб-сервер или кэширующий прокси-сервер


Если веб-сервер сам передает данные пользователю после их создания, то
Ответ:число обработанных веб-сервером запросов напрямую зависит от скорости Интернет-канала посетителей сайта


Использование общего веб-сервера для обработки PHP программ и статических файлов
Ответ:неэффективное решение из-за большого и неэффективного использования оперативной памяти веб-сервером для обработки статических файлов


Значение MaxClients надо подбирать так, чтобы
Ответ:

  • объем используемой памяти процессами Back-end никогда не превышал объем свободной оперативной памяти
  • MaxClients должен быть меньше или равен максимальному числа соединений с базой данных
  • даже при стрессовых нагрузках запущенные процессы Back-end потребляли в среднем не более 90% процессорных ресурсов

Какой тип таблиц MySQL рекомендуется использовать для улучшения производительности при больших нагрузках?
Ответ:InnoDB


Как обойти Segmentation fault при использовании отложенной загрузки классов?
Ответ:Определить в dbconn.php: define(«NO_BITRIX_AUTOLOAD»,true)


Какие возможности MySQL стоит использовать для улучшения производительности?
Ответ:

  • при использовании InnoDB обязательно конфигурировать переменные innodb_*
  • отложенные транзакции для InnoDB (innodb_flush_log_at_trx_commit)
  • многопотоковую (multithreading) сборку MySQL

Если на сервере одновременно запускается много процессов веб-сервера, то возможно
Ответ:

  • превышение установленного максимума для одновременных соединений к базе данных
  • из-за нехватки оперативной памяти процессы будут вытесняться в виртуальную память и общая производительность системы резко упадет
  • значительное снижение производительности системы из-за нехватки процессорных ресурсов для одновременного выполнения всех процессов

Сжатие страниц модулем компрессии позволяет
Ответ:позволяет ускорить загрузку сайта со стороны клиента (пользователя сайта)


Постоянное соединение с базой данных предпочтительнее, потому что
Ответ:соединение к базе данных всегда открыто и тратится меньше времени и ресурсов на повторное открытие соединений


Для стабилизации системы по расходу памяти и для ограничения числа одновременно запущенных процессов Back-end нужно установить
Ответ:MaxClients


В результате построения двухуровневой архитектуры и выполнения ряда рекомендаций мы должны получить следующие результаты
Ответ:

  • в стрессовой ситуации система будет стабильно и равномерно обрабатывать запросы, Back-end не будет увеличивать число одновременно выполняемых процессов выше установленного лимита MaxClients, Front-end будет принимать все запросы от пользователей и ожидать освобождения процессов Back-end
  • пользователи комфортно работают со сжатыми страницами
  • использование процессорных ресурсов ограничено числом одновременно работающих процессов Back-end в соответствии с MaxClients; не начнется регрессия производительности;
  • возможно безопасное использование постоянного соединения с базой данных без опасения превысить число возможных соединений; в памяти все время находится установленное число Back-end процессов, готовых к обработке запросов и с установленным соединением с базой данных;
  • процессорные ресурсы существенно высвобождены за счет прекомпиляции PHP-кода

Back-end — это
Ответ:обычный веб-сервер Apache с установленным обработчиком PHP


Соединение с базой данных по имени localhost позволяет
Ответ:

  • соединиться с базой данных без использования стека TCP/IP, что ускоряет работу
  • гарантированно соединиться с базой данных, установленной на локальной машине

Статические файлы на веб-сайте это
Ответ:

  • JavaScript файлы
  • таблицы стилей css
  • страницы HTML, которые не содержат программный код
  • XML файлы, PowerPoint (PPT), Microsoft Word (DOC), PDF
  • все графические файлы: gif, jpg, png, bmp

Можно ли выносить временную папку MySQL на ramdisk в памяти
Ответ:Желательно это делать при наличии достаточного количества ОЗУ.


Зачем нужен Zend optimizer+ ?
Ответ:для ускорения работы php


Front-end позволяет
Ответ:

  • уменьшить число запросов к Back-end за счет самостоятельной обработки статических файлов
  • существенно уменьшить потребление оперативной памяти при обработке статических файлов
  • снять зависимость производительности системы от медленных каналов пользователей

Основной параметр настройки веб сервера для стабилизации расхода памяти
Ответ:MaxClients в Аpache


Чтобы обеспечить передачу реального IP адреса с Front-end в Back-end, необходимо
Ответ:

  • произвести в Back-end замену переменной REMOTE_ADDR на значение переменной HTTP_X_FORWARDED_FOR, которая передается из Front-end
  • установить модуль mod_realip для веб-сервера Apache

Порядок работы Back-end:
Ответ:получает запросы от Front-end и передает готовые (сгенерированные) страницы и статические файлы Front-end для передачи их пользователям.


Для соединения с базой данных PHP использует
Ответ:встроенные библиотеки PHP для данного типа базы данных


Как обойти Segmentation fault на скрипты в cron или консоли?
Ответ:

  • Использовать другую конфигурацию PHP без подключения акселератора (или другую версию PHP)
  • В «падающем» скрипте определить: define(‘BX_NO_ACCELERATOR_RESET’, true)

Постоянное соединение с базой данных устанавливается
Ответ:в файле /bitrix/php_interface/dbconn.php константой DBPersistent


PHP-скрипт выполняется
Ответ:только на сервере и является интерпретируемым языком

Время ожидания между Front-end и Back-end должно быть достаточно большим, чтобы
Ответ:

  • дождаться завершения работы длительных запросов к Back-end
  • дождаться освобождения процессов Back-end, если все они заняты обработкой текущих запросов

Для ускорения работы PHP интерпретатора рекомендуется
Ответ:использовать прекомпилятор PHP


Front-end — это
Ответ:компактный веб-сервер или кэширующий прокси-сервер


Если веб-сервер сам передает данные пользователю после их создания, то
Ответ:число обработанных веб-сервером запросов напрямую зависит от скорости Интернет-канала посетителей сайта


Использование общего веб-сервера для обработки PHP программ и статических файлов
Ответ:неэффективное решение из-за большого и неэффективного использования оперативной памяти веб-сервером для обработки статических файлов


Значение MaxClients надо подбирать так, чтобы
Ответ:

  • объем используемой памяти процессами Back-end никогда не превышал объем свободной оперативной памяти
  • MaxClients должен быть меньше или равен максимальному числа соединений с базой данных
  • даже при стрессовых нагрузках запущенные процессы Back-end потребляли в среднем не более 90% процессорных ресурсов

Какой тип таблиц MySQL рекомендуется использовать для улучшения производительности при больших нагрузках?
Ответ:InnoDB


Как обойти Segmentation fault при использовании отложенной загрузки классов?
Ответ:Определить в dbconn.php: define(«NO_BITRIX_AUTOLOAD»,true)


Какие возможности MySQL стоит использовать для улучшения производительности?
Ответ:

  • при использовании InnoDB обязательно конфигурировать переменные innodb_*
  • отложенные транзакции для InnoDB (innodb_flush_log_at_trx_commit)
  • многопотоковую (multithreading) сборку MySQL

Если на сервере одновременно запускается много процессов веб-сервера, то возможно
Ответ:

  • превышение установленного максимума для одновременных соединений к базе данных
  • из-за нехватки оперативной памяти процессы будут вытесняться в виртуальную память и общая производительность системы резко упадет
  • значительное снижение производительности системы из-за нехватки процессорных ресурсов для одновременного выполнения всех процессов

Сжатие страниц модулем компрессии позволяет
Ответ:позволяет ускорить загрузку сайта со стороны клиента (пользователя сайта)


Постоянное соединение с базой данных предпочтительнее, потому что
Ответ:соединение к базе данных всегда открыто и тратится меньше времени и ресурсов на повторное открытие соединений


Для стабилизации системы по расходу памяти и для ограничения числа одновременно запущенных процессов Back-end нужно установить
Ответ:MaxClients


В результате построения двухуровневой архитектуры и выполнения ряда рекомендаций мы должны получить следующие результаты
Ответ:

  • в стрессовой ситуации система будет стабильно и равномерно обрабатывать запросы, Back-end не будет увеличивать число одновременно выполняемых процессов выше установленного лимита MaxClients, Front-end будет принимать все запросы от пользователей и ожидать освобождения процессов Back-end
  • пользователи комфортно работают со сжатыми страницами
  • использование процессорных ресурсов ограничено числом одновременно работающих процессов Back-end в соответствии с MaxClients; не начнется регрессия производительности;
  • возможно безопасное использование постоянного соединения с базой данных без опасения превысить число возможных соединений; в памяти все время находится установленное число Back-end процессов, готовых к обработке запросов и с установленным соединением с базой данных;
  • процессорные ресурсы существенно высвобождены за счет прекомпиляции PHP-кода

Back-end — это
Ответ:обычный веб-сервер Apache с установленным обработчиком PHP


Соединение с базой данных по имени localhost позволяет
Ответ:

  • соединиться с базой данных без использования стека TCP/IP, что ускоряет работу
  • гарантированно соединиться с базой данных, установленной на локальной машине

Статические файлы на веб-сайте это
Ответ:

  • JavaScript файлы
  • таблицы стилей css
  • страницы HTML, которые не содержат программный код
  • XML файлы, PowerPoint (PPT), Microsoft Word (DOC), PDF
  • все графические файлы: gif, jpg, png, bmp

Можно ли выносить временную папку MySQL на ramdisk в памяти
Ответ:Желательно это делать при наличии достаточного количества ОЗУ.


Зачем нужен Zend optimizer+ ?
Ответ:для ускорения работы php


Front-end позволяет
Ответ:

  • уменьшить число запросов к Back-end за счет самостоятельной обработки статических файлов
  • существенно уменьшить потребление оперативной памяти при обработке статических файлов
  • снять зависимость производительности системы от медленных каналов пользователей

Основной параметр настройки веб сервера для стабилизации расхода памяти
Ответ:MaxClients в Аpache


Чтобы обеспечить передачу реального IP адреса с Front-end в Back-end, необходимо
Ответ:

  • произвести в Back-end замену переменной REMOTE_ADDR на значение переменной HTTP_X_FORWARDED_FOR, которая передается из Front-end
  • установить модуль mod_realip для веб-сервера Apache

Порядок работы Back-end:
Ответ:получает запросы от Front-end и передает готовые (сгенерированные) страницы и статические файлы Front-end для передачи их пользователям.


Для соединения с базой данных PHP использует
Ответ:встроенные библиотеки PHP для данного типа базы данных


Как обойти Segmentation fault на скрипты в cron или консоли?
Ответ:

  • Использовать другую конфигурацию PHP без подключения акселератора (или другую версию PHP)
  • В «падающем» скрипте определить: define(‘BX_NO_ACCELERATOR_RESET’, true)

Постоянное соединение с базой данных устанавливается
Ответ:в файле /bitrix/php_interface/dbconn.php константой DBPersistent


PHP-скрипт выполняется
Ответ:только на сервере и является интерпретируемым языком


Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *