didi909 发表于 2014-12-18 05:07:20

receive time到底是什么?懂的进

关于receive time,我反复看了官方文档对它的解释,应该就只是单纯的接收从服务器返回数据的耗时,现在的问题是:
查询业务一:其对应的sql在库里执行不慢(2.5s),不过receive time达到8s,一共返回1200行、20列数据,在页面上也可以明显的感觉到查询已经执行完了(进度条很快就没了),但是具体的数据是在8s以后才显示在屏幕里面,我已经测试过网络没有问题,也测试过系统里面的其他查询业务,但主要都是查询慢(一直在读进度条,最终执行sql24秒,receive time 0.5秒)返回2000行、10列,但一旦查询完毕数据立即就能显示出来。

问题是:从我上面的分析,receive time既然只是从服务器获取数据的时间,就应该只受网络的影响,那么同一个系统里面两个不同的业务为什么差异有这么大呢?receive time到底是否还包含了其他的时间,比如客户端的结果渲染呢?这个问题我该从哪里找切入点比较好?

土土的豆豆 发表于 2014-12-18 10:24:10

recieve time 指显示从服务器收到(第一个字节)到最后一个字节并完成下载之前经过的时间。
业务不同当然会返回时间不一样,包含各种情况:
SQL执行时间也仅是DB response time中一部分而已,只是执行SQL语句查询的时间;
建议别根据进度条来判断,毕竟有误的,还是得相信工具的精确度。
一般事务响应时间包括:first buffer time、receive time和client time
故而从web服务器发出第一个数据包起,经网络乃至到客户端接受数据延时都会给你主观上带来不一致的时间节点
页: [1]
查看完整版本: receive time到底是什么?懂的进