【求助】响应时间与sql执行时间问题
测试环境:win2003 4核 2.4g 4g内存 sqlserver2000 sp4tomcat 5.0.28 与sqlserver放在一起(真实环境)
jdk 1.4.2
以上是部分图表。
问题在于:我找到了查询的sql后,在查询分析器中,执行,发现执行时间5s左右。(部分查询时间会超过10s,这类很少)。但是,从页面上直接点击查询(条件相同),用秒表掐时间至少20s。为了排除网络因素,并模拟真实环境,我讲tomcat和sqlserver放在一起了。
问题:还有什么地方可能浪费时间的?程序设计吗?程序设计的效率不应该这么低吧。用httpwatch查看的时候,主要的时间都是查询浪费的,其他如下载 js 图片的时间都很短。所以也排除了下载时间过长的原因。但是为什么通过查询分析器得到的时间和前台直接查询给出的时间相差太多呢?
还有那些方面需要考虑的?谢谢大家帮忙了 本帖最后由 u03024218 于 2011-7-11 17:01 编辑
对了,未发现内存泄露问题和cpu问题。还有需要什么参数的,跟我说啊,我是新手,好多必要的参数可能没有给出来。请大家谅解 在线等呀,希望能帮忙扩展一下思路 有人知道吗?? 感谢楼上帮我定了下。。。虽然是广告吧。。 后台直接查询,速度比较快,前端查询速度就慢了。那可以初步排除数据库设计的问题,后台查询的sql语句与页面中的sql语句是否一样,规则是否一样。细分前台页面与数据库还有web服务器的情况,看看是网络传输的问题还是前端页面缓存的问题。 亲手 1.你自己执行的sql是否就是该页面上查询的全部sql?
会不会有遗漏?
建议配置p6spy,抓一下相关操作的所有数据库交互
结果中还会显示出真实的每个sql的耗时
看一下数据库端的耗时和前端展现的差别有多大
2.
如果数据库端真的比前台观察到的快了很多
那么很可能是程序处理的问题
e.g.
比如数据库中查询出了1000条数据
程序中对1000条数据循环进行处理
可以通过前端工具进行深入分析
推荐两款
httpwatch和dynatrace
页:
[1]