リダイレクトスクリプトのベンチマークテストを書いています。
AppStoreにリダイレクトする特定のURLを照会するようにプログラムをwisgします。しかし、AppStoreページをダウンロードしたくありません。リダイレクトURLまたはエラーをログに記録したいだけです。
2番目のリダイレクトクエリなしでURLをクエリするように指示するにはどうすればよいですか?
アップデート
どちらの答えも正しいですが、次のようになります。
私は両方の解決策を試しました。私はベンチマークを行っています。1つまたは複数のgoプロセスを10〜500のgoルーチンで実行します。ループでURLを照会します。私のサーバーもgoで書かれています。毎秒のリクエスト数を報告します。
- 最初の解決策:
http.DefaultTransport.RoundTrip
-動作が遅く、エラーが発生します。最初の4秒は正常に機能します。300〜500クエリを実行すると、パフォーマンスは1秒あたり80クエリに低下します。
次に、1秒あたり0〜5のクエリに低下し、クエリスクリプトは次のようなエラーを取得し始めます
dial tcp IP:80: A connection attempt failed because the connected
party did not properly respond after a period of time, or established
connection failed because connected host has failed to respond.
閉じた接続を再利用していると思います。
- 2番目の解決策:
CheckRedirect field
一定のパフォーマンスで動作します。接続を再利用するのか、リクエストごとに新しい接続を開くのかはわかりません。client
ループ内のすべてのリクエストに対して作成します。それは実際の生活でどのように動作するかです(すべての要求は新しい接続です)。各クエリの後に接続が閉じられ、再利用されないようにする方法はありますか?
そのため、私の質問に答える2番目のソリューションをマークします。しかし、私の調査では、各クエリが新しい接続であることが非常に重要です。2番目のソリューションでどのように確認できますか?