php curl 中的gzip压缩性能测试
前因:
1
请求接口次数很多,每日两亿多次,主要是有些接口返回数据量很大高达110KB(为了减少请求次数,将多个接口合并成一个导致的)。
后端接口的nginx已经开启gzip,所以做个测试,看看是否在请求时使用压缩解压
php CURL 的扩展安装这里就不说了
用到的curl的两个参数
//在http 请求头加入 gzip压缩
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Encoding:gzip'));
//curl返回的结果,采用gzip解压
curl_setopt($ch, CURLOPT_ENCODING, "gzip");
1、不使用压缩解压
$s1 = microtime(true);
$ch = curl_init();
for($i=0; $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
$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

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用Windows11上的記憶體壓縮,即使RAM量有限,您的裝置也會窒息運作。在本文中,我們將向您展示如何在Windows11上啟用或停用記憶體壓縮。什麼是記憶體壓縮?記憶體壓縮是一種在將資料寫入RAM之前壓縮資料的功能,從而在其上提供更多儲存空間。當然,儲存在實體記憶體中的更多資料轉化為更快的系統運作和更好的整體效能。此功能在Windows11中預設為啟用,但如果它以某種方式未處於活動狀態,您可以停用或重新啟用它。如何在Windows11中啟用記憶體壓縮?按一下搜尋欄,鍵入powershell,然後從結果中單

PHP8.1發布:引入curl多個請求並發處理近日,PHP官方發布了最新版本的PHP8.1,其中引入了一個重要的特性:curl多個請求並發處理。這個新功能為開發者提供了一個更有效率和靈活的方式來處理多個HTTP請求,大大提升了效能和使用者體驗。在以往的版本中,處理多個請求往往需要透過建立多個curl資源,並使用循環來分別發送和接收資料。這種方式雖然能夠實現目

從頭到尾:如何使用php擴充cURL進行HTTP請求引言:在Web開發中,經常需要與第三方API或其他遠端伺服器進行通訊。而使用cURL進行HTTP請求是一種常見且強大的方式。本文將介紹如何使用php擴充cURL來執行HTTP請求,並提供一些實用的程式碼範例。一、準備工作首先,請確保php已安裝cURL擴充。可以在命令列執行php-m|grepcurl查

在Linux下更新curl版本,您可以按照以下步驟進行操作:檢查目前curl版本:首先,您需要確定目前系統中安裝的curl版本。開啟終端,並執行以下指令:curl--version該指令將顯示目前curl的版本資訊。確認可用的curl版本:在更新curl之前,您需要確定可用的最新版本。您可以造訪curl的官方網站(curl.haxx.se)或相關的軟體來源,尋找最新版本的curl。下載curl原始碼:使用curl或瀏覽器,下載您選擇的curl版本的原始碼檔案(通常為.tar.gz或.tar.bz2

發現某下載網站下載的壓縮包,解壓縮後再打包會比原來的壓縮包大一些,小的幾十Kb的差別,大的幾十Mb的差別,如果上傳到雲盤或付費空間,文件少無所謂,文件多的話,大大的增加儲存成本。特意研究了下,有需要的可以藉鏡。壓縮等級:9-極限壓縮字典大小:256或384,字典越壓縮越慢,256MB之前壓縮率差異較大,384MB後壓縮率無差別單字大小:最大273參數:f=BCJ2,測試加參數壓縮率會高一些

PHPCurl中如何處理網頁的301重定向?使用PHPCurl發送網路請求時,常會遇到網頁回傳的301狀態碼,表示頁面被永久重定向。為了正確處理這種情況,我們需要在Curl請求中加入一些特定的選項和處理邏輯。以下將詳細介紹在PHPCurl中如何處理網頁的301重定向,並提供具體的程式碼範例。 301重定向處理原理301重定向是指伺服器回傳了一個30

如何使用Nginx進行HTTP請求的壓縮和解壓縮Nginx是一款高效能的Web伺服器和反向代理伺服器,其功能強大且靈活。在處理HTTP請求時,可以使用Nginx提供的gzip和gunzip模組對請求進行壓縮和解壓縮,以減少資料傳輸量,並提高請求回應速度。本文將介紹如何使用Nginx進行HTTP請求的壓縮和解壓縮的具體步驟,並提供對應的程式碼範例。配置gzip模組

Golang實現圖片品質壓縮的方法隨著網路的快速發展,圖片成為了人們在網路上交流和訊息傳遞的重要媒介之一。然而,高解析度的圖片不僅會佔用大量的儲存空間,而且在網路傳輸時也會增加載入的時間,為使用者體驗帶來一定的影響。因此,在實際應用中,對圖片進行壓縮是一項非常有意義的工作。本文將介紹如何使用Golang實作對圖片品質進行壓縮的方法。首先,我們需要導入Gola
