php curl getinfo的時間分析

引言

在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測試

相關文章
相關標籤/搜索