154  /  187

Закладка Конфигурация

Просмотров: 810 (Статистика ведётся с 06.02.2017)
Роберт Басыров
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5

В закладке отображается текущие показатели производительности подсистем сервера и сравнение их с показателями эталонной системы.

Нажмите на рисунок, чтобы увеличить

Если какая-то подсистема не удовлетворяет оптимальным условиям, то будет выведена ссылка с рекомендациями по исправлению в колонке Примечание.

Основные ошибки конфигурации:

  • Не установлен акселератор php.
    Наличие акселератора php просто жизненно необходимо, даже без дополнительных настроек страницы открываются в три раза быстрее, во столько же раз снижается нагрузка на процессор. Рекомендуется Zend Server CE - быстрее любого акселератора в два раза. К сожалению, на некоторых конфигурациях он работает нестабильно, тогда ставьте (в порядке приоритета) OPcache, APC, XCache.

    Внимание: eAccelerator не совместим с PHP v5.3+ и больше не поддерживается в продуктах «1C-Битрикс» с версии ядра 15.0.13. Подробнее см. в блоге разработчиков.

  • Включено ограничение open_basedir.
    На shared хостинге сложно отделить клиентов друг от друга. Самый простой вариант: включить open_basedir, тогда на все операции с файлами происходит дополнительная проверка пути. Это существенно снижает производительность. Решением будет использовать собственный экземпляр apache для каждого пользователя или установка дополнительных модулей на сервер для ограничения доступа. В этом случае ограничение open_basedir ставить не нужно! Доступ ограничивается системой для пользователя веб-сервера.
  • Не установлен или не настроен nginx.
    Хоть это напрямую не влияет на оценку производительности, но чрезвычайно важно для нагруженных проектов: лучше когда статика (картинки, стили, ява скрипты) отдаётся nginx'ом и не обрабатываться apache. Посмотрите логи доступа apache: там не должно быть ни одного запроса к статике!
  • Не настроена база данных.
    По возможности всегда используйте формат данных InnoDB, рекомендуемые настройки смотрите на странице монитора производительности Сервер БД.
  • Стоят не оригинальные драйвера оборудования.
    Особенно актуально для RAID контроллеров: при установке на Linux системах обычно предлагает к установке open source драйвера, которые не всегда достаточно эффективно работают с оборудованием. Всегда ставьте оригинальные драйвера с сайта разработчика.
  • PHP как CGI.
    PHP, запускаемый как CGI (не FastCGI) – плохая схема.
    На каждое обращение к php-скрипту запускается новый процесс интерпретатора PHP. Все это работает очень медленно, производительность сайта будет крайне низкой.

Как читать оценку подсистем

Монитор производительности не имеет прямого доступа к системным ресурсам, поэтому оценки, полученные средствами PHP, в большей степени отражают работу PHP, чем сервера.

  • Конфигурация - собственно, оценка производительности.
  • Среднее время отклика - цифра, обратная оценке производительности.
  • Процессор (CPU). Делается большое число простых математических вычислений. Задача не распараллеливается, поэтому идет оценка работы одного ядра процессора. Когда сайт работает на VPS, здесь часто можно увидеть, что "зажат" процессор.
  • Файловая система. Этот тест показывает не столько работу диска, сколько работу PHP с файлами: создается, исполняется, удаляется большое число простых файлов. Данный показатель зависит от производительности файловой системы и эффективности работы PHP акселератора. В целом хорошо показывает, как работает PHP на данной конфигурации (без учета работы базы).
  • Почтовая система. Отправляется тестовое письмо на hosting_test@bitrix.ru. Содержимое письма: "This is test message. Delete it." Никакая служебная информация не передается! Если настроена отправка почты на cron, этот показатель можно игнорировать.
  • Время старта сессии. Сессия стартует на каждый хит, поэтому это время будет прибавляться к работе каждой страницы. Проблемы обычно возникают, когда меняются настройки хранения сессий PHP так, что скапливаются сотни тысяч файлов сессий.
  • База данных (чтение/запись/удаление). Отправляется большое число простых запросов в базу. Это очень утрированный тест: он не показывает, как база будет работать со сложными запросами на больших объемах данных. Очевидно, что для базы данных на локальной машине цифры будут выше, чем для базы на отдельном сервере. Это нормально.

2
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии