Этот фрагмент кода должен отправлять от 2 до 7 запросов для получения данных одновременно для уменьшения времени ожидания. На моем компьютере код запускал 6 секунд. Когда я загрузил его на Azure, он занимает 60 секунд. Если я открываю 2 окна версии Azure и запускаю их рядом, они берут 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? –