Я пытаюсь имитировать сценарий, когда 300 000 потребителей получают доступ к серверу.Поэтому я пытаюсь создать псевдо-клиентов, многократно запрашивая сервер из параллельных потоков.
Но первое препятствие, которое необходимо устранить, это возможность запуска 300 000 потоков на ПК?Вот код, который я использую, чтобы узнать, сколько я могу получить максимальных потоков, а затем заменить тестовую функцию фактической функцией:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace CheckThread
{
class Program
{
static int count;
public static void TestThread(int i)
{
while (true)
{
Console.Write("\rThread Executing : {0}", i);
Thread.Sleep(500);
}
}
static void Main(string[] args)
{
count = 0;
int limit = 0;
if (args.Length != 1)
{
Console.WriteLine("Usage CheckThread <number of threads>");
return;
}
else
{
limit = Convert.ToInt32(args[0]);
}
Console.WriteLine();
while (count < limit)
{
ThreadStart newThread = new ThreadStart(delegate { TestThread(count); });
Thread mythread = new Thread(newThread);
mythread.Start();
Console.WriteLine("Thread # {0}", count++);
}
while (true)
{
Thread.Sleep(30*1000);
}
} // end of main
} // end of CheckThread class
} // end of namespace
Теперь то, что я пытаюсь сделать, может быть нереальным, ноТем не менее, если есть выход, и вы знаете, тогда, пожалуйста, помогите мне.