Я создаю серверное приложение, которому необходимо на постоянной основе выполнять множество HTTP-запросов к паре других серверов. В настоящее время я в основном настраиваю около 30 потоков и постоянно запускаю HttpWebRequests синхронно в каждом потоке, достигая пропускной способности около 30 запросов в секунду.
Я действительно устанавливаю ServicePoint ConnectionLimit в app.config, чтобы это не было ограничивающим фактором.
Мне нужно резко увеличить масштаб. По крайней мере, мне понадобится немного больше мощности процессора, но мне интересно, получу ли я какие-либо преимущества, используя асинхронные методы объекта HttpWebRequest (например: .BeginGetResponse ()), в отличие от самостоятельного создания потоков и использования синхронные методы (например: .GetResponse ()) в этих потоках.
Если я буду использовать асинхронные методы, мне, очевидно, придется значительно переработать свое приложение, поэтому мне интересно, может ли кто-нибудь иметь какое-то представление, прежде чем я пойду и все перекодирую, на случай, если я пойду на обед.
Спасибо!