在php中可使用curl调用远程接口,在调用完成之后, 可以获取相关的内容和信息,但有时候, 咱们须要统计这个调用过程的时间, 尤为是在使用curl作并发测试的时候,这个统计就尤其重要,针对其中关于时间的几个统计项,在curl中给出的中文解释很是模糊, 且网上针对这方面的资源并很差找,我在这里作个说明。php
1: 在curl中的几个比较重要的时间范围都已标记出来,若有错误,但愿可以指正。html
namelookup_time: 解析时间, 从开始直到解析完远程请求的时间;
connect_time: 创建链接时间,从开始直到与远程请求服务器创建链接的时间;
pretransfer_time: 从开始直到第一个远程请求接收到第一个字节的时间;
starttranster_time: 从开始直到第一个字节返回给curl的时间;
total_time: 从开始直到结束的全部时间。服务器
2: 从上面就能很容易获得不一样阶段的时间, 好比实际的远程服务器的处理数据的时间能够用starttransfer_time - pretransfer_time计算获得, 即图示中的第4个小段的时间, 若想获得本地与服务器传输数据所消耗的时间,则把时间段2与时间段5作加法便可, 而时间段2和5均很容易获得。并发
其余的两个时间:
1: redirect_time: 假如远程请求中又包含了重定向, 那么从开始直到重定向完成以后的那个远程请求的starttransfer_time就是这个时间(若有错误,请指正);
2: file_time: 远程获取文档的时间,若是没法获取,则返回值为“-1”;
PS:这两种时间均未作过实践,若是有知道的,欢迎讨论curl
参考:
curl_easy_getinfo测试