このコードは、待機時間を短縮するために同時にデータを取得する2〜7回の要求を送信することが想定されています。私のコンピュータ上でコードを実行するのに6秒かかりました。私がAzureにアップロードしたとき、それは60秒かかる。 Azureバージョンの2つのウィンドウを開き、それらを並べて実行すると、120秒かかります。彼らは私が望むように同時に走っていないか、複数のコールが同時にサーバにボトルネックを起こしているかのようです。誰にもアイデアはありますか?Task.Parallel.Forが並行して実行されていないようです
List<string> strs = new List<string>();
Parallel.For(0, uriArray.Count(), index =>
{
using (var client = new HttpClient())
{
var response = client.GetAsync(uriArray[index]).Result;
if (response.IsSuccessStatusCode)
{
var responseContent = response.Content;
var responseString = responseContent.ReadAsStreamAsync().Result;
using (GZipStream zip = new GZipStream(responseString, CompressionMode.Decompress, true))
using (StreamReader unzip = new StreamReader(zip))
{
strs.Add(unzip.ReadToEnd());
}
}
}
});
マシンにいくつのコアがありますか? – Shyju
@Shyju私のコンピュータには8があります – Mike
Azureではどうですか? –