前例:
1
インターフェースへのリクエストが多く、1 日あたり 2 億回を超えます。主な理由は、一部のインターフェースが最大 110 KB の大量のデータを返すためです (リクエストの数を減らすために、複数のインターフェースが 1 つにマージされています)。
バックエンド インターフェイスの nginx で gzip が有効になっているため、リクエスト中に圧縮と解凍が使用されるかどうかをテストしてください
ここではphp CURLの拡張機能のインストールには触れません
使用するcurlの2つのパラメータ
// http リクエスト ヘッダーに gzip 圧縮を追加します
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Encoding:gzip'));
//curl によって返された結果は、gzip
curl_setopt($ch, CURLOPT_ENCODING, "gzip");を使用して解凍されます。
1. 圧縮や解凍は使用しないでください
$s1 = マイクロタイム(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;
エコー「n」;
テスト結果: 100 件のリクエストにかかる平均時間は 2.1 秒 0.021 秒/回です
2. 圧縮と解凍を使用する
$s1 = マイクロタイム(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;
エコー「n」;
テスト結果: 100 リクエストにかかる平均時間は 2.6 秒 0.026/回です
結果
1. 圧縮を使用しない場合、1 つのリクエストは圧縮を使用する場合よりも 5 ミリ秒速くなります
2. ギガビットネットワーク、LAN内でこれらのデータを送信するのに約0.7ミリ秒かかります
http://www.bkjia.com/PHPjc/735884.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/735884.html技術記事前提条件: 1. インターフェースへのリクエストが多く、1 日に 2 億回を超えます。主な理由は、一部のインターフェースが最大 110KB の大量のデータを返すためです (リクエストの数を減らすために、複数のインターフェースが 1 つにマージされています)。 )...