Пример нахождения мелких ошибок в производительности

Урок 488 из 741
Автор: Роберт Басыров
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
3 из 5
Просмотров: 67915
Дата изменения: 05.12.2024
Недоступно в лицензиях:
Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы (Marketplace > Обновление платформы).
Ограничений нет

  Мелкие ошибки
  в производительности сайта

Перед сдачей проекта протестируйте сайт и найдите ошибки в верстке, неправильно настроенного кэширования и другие мелкие недочеты. Для этого скачайте два-три раза все страницы на жесткий диск. Для этой цели хорошо подходит бесплатная программа wget, работающая под управлением Linux/Unix систем и встроенная в виртуальную машину VMBitrix.

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

Для тестирования включите режим тестирования производительности, затем перейдите в виртуальную машину и выполните такие команды:

cd /tmp
mkdir test1
cd test1
rm -rf localhost
wget -m http://localhost
rm -rf localhost
wget -m http://localhost
rm -rf localhost
wget -m http://localhost

Для повтора теста повторите 2 последние команды. Если тестирование затянулось, прервать его можно, нажав CTRL+C.

Внимание! При большом числе обращений с одного адреса проактивная защита не позволит выполнить тестирование. Отключите контроль активности на странице Проактивный фильтр (Настройки > Проактивная защита > Проактивный фильтр).

  Низкая скорость работы сайта
  и низкая оценка производительности

В первую очередь необходимо проверить наличие акселератора php Наличие акселератора php просто жизненно необходимо, даже без дополнительных настроек страницы открываются в три раза быстрее, во столько же раз снижается нагрузка на процессор.

Подробнее ...
. Это специальный модуль, который выполняет прекомпиляцию php скриптов, что позволяет уменьшить время работы скриптов в среднем в три раза.

Затем проверить, не включено ли расширение open_basedir На shared хостинге сложно отделить клиентов друг от друга. Самый простой вариант: включить open_basedir, тогда на все операции с файлами происходит дополнительная проверка пути.

Подробнее ...
.

  Медленное открытие
  страниц

Наиболее просты в определении и легки для детектирования две проблемы:

  • все или значительная часть страниц сайта открывается не очень быстро;
  • некоторые разделы сайта почти не открываются или открываются очень медленно.

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

Для первой проблемы. В коде страниц сайта имеются битые ссылки, которые переадресуются на индексную или на 404 страницу. Такие несуществующие адреса легко отлавливаются после получасового теста Монитора производительности.

Для второй проблемы: после сбоя некоторые таблицы базы данных оказались повреждены. В результате нагрузка на MySQL возросла в сотни раз. 5-ти минутный тест Монитора производительности показал, что причина – в нескольких поврежденных таблицах в разделе Каталог.


Нам жаль это слышать… Но мы постараемся быть лучше!

Мы благодарны Вам за помощь в улучшении документации.

Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас
Курсы разработаны в компании «1С-Битрикс»