2010-06-26 9 views
1

Я хочу проверить свой сервер на количество одновременных подключений, с которыми он может справиться. Имея значительно низкие проблемы с подключением ... другими словами, чтобы имитировать сценарий стресс-тестирования. Как мне это сделать? Спасибо за ваш совет.Имитация нескольких клиентских подключений к серверу

+0

Какой протокол использует ваш сервер? –

+0

Используемый протокол: tcp – phen

ответ

1

Вы можете создать класс под названием SimulatedClient, который инкапсулирует Thread. Thread может просто подключиться к вашему серверу или отправить HTTP-запрос GET, имитирующий загрузку файла или что-то еще, что вы хотите. Вы можете создать любое приложение для размещения клиентов, например консольное приложение или приложение WPF.

Он будет создавать любое количество SimulatedClients (возможно, настраивается в app.config), запускать их все, а затем отслеживать проблемы (путем поиска и регистрации исключений - или просто взломать отладчик) и/или выполнить любое тестирование производительности. Если это последний, я бы предложил взглянуть на класс System.Diagnostics.Stopwatch.

С WPF или другим визуальным приложением у вас может быть хорошая сетка (например, ListView с представлением View to GridView), связанная с коллекцией имитируемых клиентов, с столбцами для таких вещей, как Status, Duration, Errors - if вы сделали их DependencyProperties, вы увидите обновление результатов в реальном времени.

+0

в порядке .. большое спасибо. – phen

+0

@EJD, предложите вам написать свой собственный ответ, если вы считаете, что другой подход имеет разные достоинства. Я также добавлю недостатки вашего подхода - настройку сложности, усилий и т. Д. Pls не уменьшает, но это вполне жизнеспособный ответ. Давайте будем конструктивными (делиться идеями), а не бессмысленно критичными, да? –

+0

Если бы у меня был ответ, я бы предоставил его, потому что я пытаюсь сделать то же самое. Я отказался, потому что это не жизнеспособный ответ. Это конструктивно, потому что оно ведет меня в направлении, которое не срабатывало. Это то же самое, что и неправильный ответ. Я был понижен за вполне обоснованный ответ. По крайней мере, у меня была своя просьба дать объяснение, почему. – EJD

0

Если это веб-сервер см http://support.microsoft.com/kb/231282

+0

Я не ищу инструмент для стресс-тестирования .. Я хочу симулировать сценарий стресс-тестирования .. например, например. Я хочу подключить 1000 клиентов к серверу, так что мой сервер сможет для обработки 1000 клиентов .. так как я могу имитировать подключение 1000 клиентов к моему серверу. thanx – phen

+0

@phen, если сервер может принимать 1000 одновременных клиентов, не предполагайте, что он сможет обрабатывать 1000 клиентов. Принятие соединений - одно дело, их обработка - это нечто совершенно другое. Вот почему я спросил вас, использует ли ваш сервер какой-то конкретный протокол. Вы ответили TCP, но даже HTTP основан на TCP, так что вы можете быть немного более конкретным? Являются ли ваши клиенты написанными вами? –

+0

он использует http .. и да, клиенты - это тот, который мне нужно написать. ..не сервер .. .. имитировать сказать 1000 или 2000 пользователей, подключающихся к серверу simoultaneously и да, что я пытаюсь сделать, это ... сначала имитировать 1000 пользователей .., а затем сказать 1000 пользователей, щелкнув по URL-адресу или загрузив тот же файл с моего сервера .. n нравится, сколько раз оно показывало проблемы с сетевым подключением. thanx – phen

Смежные вопросы