Дата последнего изменения: 05.12.2024
Перед сдачей проекта протестируйте сайт и найдите ошибки в верстке, неправильно настроенного кэширования и другие мелкие недочеты. Для этого скачайте два-три раза все страницы на жесткий диск. Для этой цели хорошо подходит бесплатная программа 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-ти минутный тест Монитора производительности показал, что причина – в нескольких поврежденных таблицах в разделе Каталог.