FAQ->Виртуальный хостинг->Анализ и устранение проблем
Мой сайт работает медленно, что делать?
Причин по которой сайт работает медленно может быть несколько:
- Медленная работа скриптов сайта
- Медленная работа баз MySQL
1. Медленная работа скриптов сайта
Исследование причин медленной работы скриптов, как правило лучше возложить на разработчика, поскольку требует написания дополнительных скриптов статистики. Но некоторые вещи Вы можете проверить самостоятельно.
- В разделе "Используемые ресурсы" Вы можете посмотреть использование процессорного времени скриптами Вашего сайта и сравнить его с выделенными ресурсами для Вашего хостинг аккаунта. А для всех серверов s27 - s43 доступна подробная статистика по скриптам. После нажатия на кнопку "Включить" в течении недели будет собираться статистика и вырисовываться графики по ЦПУ и памяти, которые выделяются на обработку скрипта.
- В разделе "http логи" необходимо проверить логи ошибок, иногда причиной медленной работы скрипта является ошибка в исходном коде.
- В PHP есть один большой недостаток - работы с сессиями. Скрипты с сессиями работают последовательно. Поэтому, если у вас есть скрипт, работающий с сессиями, который долго выполняется, во время его работы, остальные скрипты работающие с сессиями, будут ждать его завершения. Желательно в долго выполняющихся скриптах механизм сессий не использовать.
- Еще одним методом уменьшения использования ресурсов скриптами сайта, является отдача статических файлов, таких как html, gif, jpg не тяжелым http сервером, а через nginx. Это существенно снизит потребление ресурсов и ускорит загрузку статики. По умолчанию эта опция включена в панели управления, но иногда ее по незнанию отключают. Включить ее можно в разделе “Настройка php и apache”, разделе “Оптимизированный алгоритм отдачи статического контента”.
- Для клиентов виртуального хостинга мы бесплатно начали предоставлять услугу Сервера статики (CDN). Настройка сайта не займет больше 10 минут, но позволит ускорить работу в несколько раз. Поскольку статические файлы (.GIF, .JPG, .PNG, .CSS, .JS) будут отдаваться с другого сервера. Это снизит использование ресурсов и даст возможность в несколько потоков передавать файлы клиенту. Настроить услугу можно в панели управления, разделе "Сервер статики".
2. Медленная работа баз MySQL
Часто причиной медленной работы mysql являются “медленные запросы”. Они могут возникать из-за не оптимально написанных запросов к базе данных, ее большого размера или неправильной структуры таблиц. Например поля таблицы по котором производится выборка не имеют индексов или индексы построены не верно. Но с индексами так же нельзя переусердствовать, поскольку при каждой вставке в таблицу, mysql перестраивает дерево индексов, это может привести к существенному снижению производительности во время вставки новых данных.
Проверить информацию о наличие медленных запросов к серверу MySQL можно в панели управления хостингом, разделе MySQL, подразделе “Медленные запросы MySQL”.
Очень часто, такая проблема возникает в готовых CMS, Таких как Joomla и Wordpress.
Так же причиной медленной работы сервера MySQL может являться большое количество достаточно простых запросов к MySQL. В некоторых скриптах их число на страницу может достигать нескольких сотен. Даже если каждый запрос занимает несколько микросекунд, при таком их количестве общее время формирование страницы будет несколько секунд. Особенно это становится заметным, если во время выполнения таких запросов, выполняется вставка в таблицу, по которой происходит поиск. Поскольку на время выполнения вставки в таблицу MySQL выполнение select запросов останавливается.
Такая проблема часто присутствует в электронных магазинах, поскольку для формирования страницы, им нужно собрать большое количество статистики о товарах в базе данных.
Увидеть статистику использования ресурсов сервера MySQL скрпиптами сайта можно в панели управления, разделе “Ваш аккаунт”, подразделе “Используемые ресурсы”.
Статьи по теме:
- Вместо сайта у меня открывается белая страница, что делать?
- Мой сайт работает медленно, что делать?
- Код ошибки 500 (500 internal server error) что это? — FAQ
- Что означает ошибка 404 (Страница не найдена)
- Ошибка 403 (Доступ к файлу или каталогу запрещен)
- Мой сайт заражен, что делать?
- Почему я не могу зайти на FTP?
- Мои скрипты не отправляют почту.
- На сайте вместо текста отображаются знаки вопроса или не понятные символы.
- У меня не открываются картинки/flash/JavaScript файлы.
- Антивирусная проверка
- Отправленная функцией mail почта не доставляется получателю.
- Как очистить кэш браузера?
- 503 service temporarily unavailable. Что означает ошибка 503?
- 502 bad gateway nginx что это, что значит ошибка 502?
- Проверка файлов на наличие изменений
- Как сделать трассировку (traceroute) к серверу под разные ОС
- Что значит “пропинговать” и для чего это используется?