[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Почему может долго загружаться страница?
program90
почему на сервере могут долго загружаться страницы. Там стоит cms. Но страницы сами по себе не тяжелые, около 15-40 кб. Происходит так, что сервер перед тем как начать отдавать страницу, задерживается на 2 секунды, или иногда на полминуты. В cms (modx) можно проверить время генерации страницы (т.е. пока modx извлечет ее из базы данных и обработает). Но повторный запрос страницы происходит не из базы, а из кэша modx. И поэтому время генерации страницы должно быть маленьким. Но страница все равно начинает загружаться только как минимум через несколько секунд. А загружается почти мгновенно. Так же работает и админка modx.
Хостинг вроде бы работает без задержек у других.
Сервер, который находится там - nginx.
Спасибо



Спустя 19 минут, 31 секунда (28.02.2011 - 13:57) Nikitian написал(а):
Смотрите логи медленных запросов, ставьте логгер-счётчик времени генерации страницы, посмотрите в файербаге прогресс загрузки, на какой этап тратится много времени, вспоминайте что делали, перед тем, как начало тормозить. Вариантов может быть туева куча.
Если проект коммерческий, то могу посмотреть и оптимизировать. Опыт имеется. Не бесплатно )

Спустя 34 минуты, 9 секунд (28.02.2011 - 14:31) program90 написал(а):
Страницы грузятся медленно изначально.
Загрузка происходит так:
сначала сервер ждет две-три или даже 30 секунд, а потом вдруг мгновенно выдает страницу, и она мгновенно загружается. А потом начинают загружаться информеры.
Отключал информеры, но все равно перед выдачей страниц проходит несколько секунд. Даже когда страница загружается повторно и извлекается из кэша cms, т.е. время ее генерации небольшое.
Тоже самое происходит в админке modx. Там же страницы не могут быть написаны плохо?

Спустя 3 минуты, 5 секунд (28.02.2011 - 14:34) Nikitian написал(а):
Может быть что угодно, от перегруженного сервера или канала, до кривых модулей.
Лог медленных запросов что-нибудь проясняет?
Профилирование модулей делали?

Спустя 5 минут, 53 секунды (28.02.2011 - 14:40) program90 написал(а):
А как я его могу посмотреть), просто сайт на хостинге, там нет доступа к my.cnf и т.д. Или есть какие-то способы?

Спустя 9 минут, 41 секунда (28.02.2011 - 14:50) Nikitian написал(а):
Попросите у хостера логи slow_queries.log, относящиеся к вашей бд. Хостеру выгодно, чтобы вы снижали нагрузку, так что не должны отказать. Только если не умеют выбирать из общего лога только ваши логи, но это уже проблема компетентности хостера )

Спустя 32 минуты, 27 секунд (28.02.2011 - 15:22) VELIK505 написал(а):
так у тебя виртуальный хост. Вот и суди сам у меня сайт один и тот же на вирт хосте грузился 5 сек
а на впс за 0.012 сек генерилась страница. Тупо может твой сосдед по парте дядя Вася загрузил не оптимизированный скрипт и погнал трафик а страдаешь ты!

Спустя 3 дня, 5 часов, 3 минуты, 42 секунды (1.03.2011 - 20:26) program90 написал(а):
VELIK505
А как проверить оптимальный ли php-скрипт (у меня)?

Спустя 10 минут, 16 секунд (1.03.2011 - 20:36) program90 написал(а):
Nikitian
А можно установить логгер времени генерации страницы на сайте, который бы правильно считал время выполнения независимо от того, на каком cms работает сайт (или, например вообще без cms)?

Спустя 5 часов, 59 минут, 10 секунд (2.03.2011 - 02:35) Nikitian написал(а):
Можно. Для этого надо использовать 2 директивы php (ну или htaccess, кому как уодбнее):
auto_prepend_file
auto_append_file

Первый указывает файл, запускаемый при обращении в любому скрипту - там инициализируете счётчик. Т.е. просто запоминаете значение microtime(true)
Вторая директива указывает какой файл исполнить после отработки запрошенного скрипта. Туда ставите логгер. Самое интересное - это то, что т.к. директива php, то используется алгоритм склейки файлов вида include, т.е. общее пространство переменных. Другими словами, если в первом скрипте вы объявили переменную $timeprofile, то в последнем скрипте вы эту переменную можете прочитать и сравнить с текущим значением microtime(true) - это и будет время работы скрипта. Далее складируйте с логи запрошенный урл и время генерации. Лучше сразу в формате csv, потом откроете excel и отсортируете увидев сразу что и где тормозит.

Спустя 7 часов, 6 секунд (2.03.2011 - 09:35) program90 написал(а):
Спасибо)

Спустя 2 часа, 39 минут, 39 секунд (2.03.2011 - 12:15) VELIK505 написал(а):
Цитата (program90 @ 1.03.2011 - 17:26)
VELIK505
А как проверить оптимальный ли php-скрипт (у меня)?

Посчитать кол-во запросов.
Но тут тоже может быть и 100 и 200 но 200 запросов будут быстрее работать чем 100 если они легче.
Тут надо смотреть через Mytop мониторить медленные запросы (тяжёлые)
А так как у тебя виртуальный хост и в ssh нет доступа то тут я незнаю как быть. Вообще на будущее не рекомендую пользоваться виртуальным хостингом. Можно взять за 350р vps/vds и мониторить всё чё хочешь, включать выключать всё что нужно и не нужно (быть самому хозяином)
Конечно не дедик но по сравнению с вирт хостом это небо и земля

Спустя 1 день, 1 час, 38 минут, 29 секунд (3.03.2011 - 13:54) program90 написал(а):
VELIK505
Спасибо)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.