Нагрузочное тестирование программ для общения.
#1
Отправлено 17 февраля 2005 - 10:46
Каким способом можно его релизовать? И целесообразно ли это делать?
Вопрос возник в связи с тем, что это обычное *.exe приложение. Как узнать, какие именно параметры должны передаваться на сервер??
Спасибо за помощь!
#2
Отправлено 17 февраля 2005 - 15:37
#3
Отправлено 17 февраля 2005 - 18:07
Для нагрузочного тестирования мы использовали WAPT, но он не позволяет отследить параметры которые передаются на сервер. В нем невозможно записывать сценарии для *.exe приложений, а следовательно и сложно отследить передаваемые параметры.Целесообразно ли что-то делать решать вам. Для нагрузочного тестирования нужны соответствующие инструменты. То, что это .exe приложение, роли не играет. Протестировать можно и его. Определитесь для начала какой протокол ваша программа использует для общения между клиентом и сервером. Параметры - дело десятое, потому что если будет правильный тул, то он вам сам запишет все, что идет на сервер от клиента.
Программа, которую необходимо протестировать под нагрузкой, использует протокол TCP IP.
Какие средства нагрузочного тестирования нам необходимо использовать ?
#4
Отправлено 17 февраля 2005 - 18:25
А что вы хотели от WAPT? :) Все эти бесплатные тулы ни с чем, кроме HTTP(S) работать не умеют.Для нагрузочного тестирования мы использовали WAPT, но он не позволяет отследить параметры которые передаются на сервер. В нем невозможно записывать сценарии для *.exe приложений, а следовательно и сложно отследить передаваемые параметры.
Программа, которую необходимо протестировать под нагрузкой, использует протокол TCP IP.
Какие средства нагрузочного тестирования нам необходимо использовать ?
TCP/IP это протокол транспортного уровня. Он никому не интересен. Интересен application level protocol. Разработчики должны знать какой протокол используется при общении клиента с сервером.
Попробуйте поиграться с LoadRunner. Вот здесь можно скачать LoadRunner 8.0 с temporary license на 10 дней.
#5
Отправлено 09 марта 2005 - 16:37
Дмитрий спасибо за помощь! :) С помощью LoadRunner удалось создать нагрузку на сервер ( было организовано перебрасывание сообщениями между пользователями). Однако возникла еще одна проблема :( относящаяся к данной теме.А что вы хотели от WAPT? :) Все эти бесплатные тулы ни с чем, кроме HTTP(S) работать не умеют.Для нагрузочного тестирования мы использовали WAPT, но он не позволяет отследить параметры которые передаются на сервер. В нем невозможно записывать сценарии для *.exe приложений, а следовательно и сложно отследить передаваемые параметры.
Программа, которую необходимо протестировать под нагрузкой, использует протокол TCP IP.
Какие средства нагрузочного тестирования нам необходимо использовать ?
TCP/IP это протокол транспортного уровня. Он никому не интересен. Интересен application level protocol. Разработчики должны знать какой протокол используется при общении клиента с сервером.
Попробуйте поиграться с LoadRunner. Вот здесь можно скачать LoadRunner 8.0 с temporary license на 10 дней.
Суть проблемы:
Программа для общения позволяет "телефонное" общение между пользователями. Для каждого такого "соединения" на сервере генерируется случайное число (идентификатор) данного соединения. Этот идентификатор отправляется сервером обоим пользователям "желающим пообщаться". Они его могут получить с помощью команды lrs_receive("SocketNumber", "BufferName", LrsLastArg), где:
SocketNumber - имя сокета для текущего соединения данного пользователя
BufferName - имя буфера в котором содержится идентификатор соединения.
Функция lrs_receive() позволяет получить только заранее известные данные (хранимые в BufferName) или я ошибаюсь? Могу ли я поставить клиент в состояние чтения входящего потока данных и запись их в буфер, если да то как?
#6
Отправлено 09 марта 2005 - 16:57
Функция lrs_receive() читает входящий поток данных в реальном времени. Как они могут быть заранее известны? Другое дело, что VuGen ожидает получить размер буфера точно такой же, какой был во время записи. Если вам нужно скопировать полученные данные в буфер, то вы можете использовать флаг MSG_PEEK в качестве 3-го параметра функции lrs_receive().Функция lrs_receive() позволяет получить только заранее известные данные (хранимые в BufferName) или я ошибаюсь? Могу ли я поставить клиент в состояние чтения входящего потока данных и запись их в буфер, если да то как?
P.S. WinSock протокол, который вы выбрали - самый тяжелый из всех имеющихся (я надеюсь, что вы перепробовали все другие, какие могли бы подходить, прежде чем стали работать с WinSock?). Так что будьте готовы к тому, что придется изрядно повозиться, если записанный скрипт надо будет каким-либо образом модифицировать/коррелировать.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных