стресс-клиент: ограничение количества одновременных подключений в XP - PullRequest
1 голос
/ 19 января 2009

У меня есть веб-сервер с моим веб-сайтом, и я пытаюсь провести его стресс-тестирование, но, похоже, не могу. Я думаю, что проблема в том, что в XP (Pro) ограниченное количество одновременных подключений.

Я написал простой клиент на C # для стресс-тестирования:

...

for (int i = 0; i < _numThread; i++)
{

 Thread t = new Thread(CallGetHttp);

 t.Start(); 

}

...

private void CallGetHttp()

{

WebRequest wrGETURL;
 wrGETURL = WebRequest.Create(_url);

 WebProxy myProxy = new WebProxy("myproxy", 80);
 myProxy.BypassProxyOnLocal = true;

 wrGETURL.Proxy = WebProxy.GetDefaultProxy();

 Stream objStream;
 objStream = wrGETURL.GetResponse().GetResponseStream();

 StreamReader objReader = new StreamReader(objStream);

 ..
}

Это правильно? Если да, то как я могу увеличить количество одновременных подключений?

1 Ответ

3 голосов
/ 19 января 2009

Предел соединения для входящих сокетов, и он жестко закодирован в сетевой стек XP, чтобы предотвратить их использование в качестве серверов (больше денег для Microsoft ...). Ваш единственный выбор - перейти на Windows Server, если вы в стеке Microsoft, или легально перейти на Linux, если ваш код будет поддерживать его. Посмотрите на моно, если вы не делаете ничего особенного.

Также будьте осторожны, чтобы попасть в ловушку виртуального ПК. Доступ к сети с виртуального ПК Microsoft осуществляется через сетевой стек XP. Поэтому, если вы запускаете linux внутри виртуальной машины внутри XP, вы все равно будете ограничены 10 входящими соединениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...