Я создаю инструмент для загрузки теста (отправляет http: GET), и он отлично работает, но в конечном итоге умирает из-за ошибки из памяти.Out of Memory Threading - Perf Test Tool
ASK: Как сбросить потоки, чтобы этот цикл мог непрерывно выполняться, а не ошибаться?
static void Main(string[] args)
{
System.Net.ServicePointManager.DefaultConnectionLimit = 200;
while (true)
{
for (int i = 0; i < 1000; i++)
{
new Thread(LoadTest).Start(); //<-- EXCEPTION!.eventually errs out of memory
}
Thread.Sleep(2);
}
}
static void LoadTest()
{
string url = "http://myserv.com/api/dev/getstuff?whatstuff=thisstuff";
// Sends http get from above url ... and displays the repose in the console....
}
Здравомыслящий реализация вашей инфраструктуры будет означать, что это не может Нагрузочные испытания правильный компонент. Вы выполняете HTTP GET, который должен быть Pure Function. Это означает, что каждому кэшированию разрешается принимать один и тот же результат каждый раз. Теоретически вы могли бы только сделать запрос SINGLE HTTP с 1000 потоками. – Aron
@Aron: Как я могу предотвратить кеширование? Вот почему я делал звонки на все эти потоки отдельно, чтобы не создавать один GET с этими 1000 потоками. В моем запросе GET я включаю & _ = (т. Е. Http: //...getstuff? Whatstuff = thisstuff & _ = 23424). –
JaJ
, который должен это сделать. – Aron