很难在没有细节的情况下具体,但这里有一个一般指南的镜头:
首先,我建议使用类似Firebug for Firefox 的东西——在其他浏览器中也有类似的东西,但这是我处理这类事情的旧工具。启用它并获得瀑布图的网络面板视图,该视图将向您显示页面上正在加载的每个对象的列表(您可能需要刷新) - 它还将有一个蓝色显示渲染事件(当页面变为可见的)。
瀑布应该让页面的慢部分非常明显,并且有了这些信息,您可以进入下一阶段 - 找出特定部分慢的原因。
如果插件不是你的东西,或者你怀疑它可能是你的机器本地的东西导致了问题,那么看看: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
您还可以将其调整为 mongod 进程的启动参数(--slowms)。可以在此处找到有关分析的更多信息,这也可能会有所帮助,但会产生开销:
http://www.mongodb.org/display/DOCS/Database+Profiler