Трудно быть конкретным без подробностей, но вот пример общего руководства:
Сначала я бы порекомендовал использовать что-то вроде Firebug для Firefox - есть аналоги в других браузерах, но это мой старый путь инструмент для такого рода вещей. Включите его и получите представление Net Panel для водопадной диаграммы, которое покажет вам список каждого объекта, который загружается на странице (возможно, вам придется обновить) - он также будет иметь синий цвет, показывающий событие рендеринга (когда страница становится видимый).
Водопад должен сделать довольно очевидным, где находятся медленные части страницы, и вооружившись этой информацией, вы можете перейти к следующему этапу - выяснению, почему определенные части медленные.
Если плагины вам не нравятся или вы подозреваете, что это может быть что-то локальное для вашей машины, вызывающее проблему, взгляните на: http://www.webpagetest.org/
Это даст вам возможность удаленного тестирования из разных мест, разных браузеров, скорости и т. Д. И даст вам аналогичные подробные результаты.
Если это статический файл, обратите внимание на проблемы с сетью, Apache как причину. Если он генерируется динамически, посмотрите Apache, ASP, mongodb и т. Д.
Что говорят журналы доступа Apache о времени отклика для страницы индекса? Предполагая, что Apache 2 или новее, убедитесь, что у вас есть %D
(и %T
, если хотите), чтобы вы могли видеть время, затраченное на обслуживание страницы (с точки зрения Apache) с требуемым уровнем детализации. Подробнее об этом см. В директиве LogFormat .
Я не могу помочь со стороны ASP / Mono, это не мое дело, но добавление операторов отладки в различных точках для отслеживания генерации индексной страницы (при условии, что она генерируется динамически) было бы довольно стандартным подходом.
Для базы данных MongoDB по умолчанию регистрирует только «медленные» запросы, которые занимают> 100 мс - если вы пытаетесь отследить проблему с временем отклика менее 100 мс через журналы, вам нужно будет отрегулировать это, иначе вы, вероятно, получите очень мало. Это можно сделать следующим образом:
> db.setProfilingLevel(0,20) // leave profiling off, slow threshold=20ms
Вы также можете настроить его как параметр запуска (--slowms) для процесса mongod. Более подробную информацию о профилировании, которое также может помочь, но связано с накладными расходами, можно найти здесь:
http://www.mongodb.org/display/DOCS/Database+Profiler
person
Adam Comerford
schedule
11.07.2012