php curl 中的gzip壓縮性能測試
添加時間:2014-9-23 17:04:03
添加:
思海網絡
前因:
1
請求端口次數很多,每日兩億多次,主要是有些端口返回數據量很大高達110KB(為了減少請求次數,將多個端口合并成一個導致的)。后端端口的nginx已經開啟gzip,所以做個測試,看看是否在請求時使用壓縮解壓
php CURL 的擴展安裝這里就不說了
用到的curl的兩個參數
//在http 請求頭加入 gzip壓縮<br>curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Encoding:gzip'));
//curl返回的結果,采用gzip解壓<br>curl_setopt($ch, CURLOPT_ENCODING, "<span style="line-height: 1.5;">gzip</span>");
1、不使用壓縮解壓
$s1 = microtime(true);
$ch = curl_init();
for($i=0; $i<100;$i++){
$url="http://192.168.0.11:8080/xxxxx/xxxxx?";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$data = curl_exec($ch);
}
curl_close($ch);
echo microtime(true)-$s1;
echo "\n";
測試結果 請求100次平均耗時 2.1s 0.021s/次
2、使用壓縮解壓
$s1 = microtime(true);
$ch = curl_init();
for($i=0; $i<100;$i++){
$url="http://192.168.0.1:8080/xxxxx/xxxxx?";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Encoding:gzip'));
curl_setopt($ch, CURLOPT_ENCODING, "gzip");
$data = curl_exec($ch);
}
curl_close($ch);
echo microtime(true)-$s1;
echo "\n";
測試結果 請求100次平均耗時 2.6s 0.026/次
結果:
1、不使用壓縮比使用壓縮 請求一次快 5ms
2、千兆網,在局域網內傳輸這些數據大概是 0.7ms
關鍵字:gzip、壓縮、數據
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解