Нагрузочное тестирование
#1
Отправлено 16 мая 2006 - 15:55
Необходимо провести нагрузочное тестирование клиент/серверного приложения.
Задача усложняется тем, что грузить приложение надо через GUI - аналогия Distributed тестирования. Нужно организовать порядка 50 клиентов.
Можно ли это дело организовать на 2-3 машинах и какой инструмент посоветуете?
#2
Отправлено 16 мая 2006 - 17:37
А можно полюбопытствовать чем вызвано требование проведения нагрузочного тестирования через GUI? Это не просто усложняет задачу, это делает ее на порядок более сложной. Не говоря уже о том, что это будет стоить гораздо дороже и по требуемому инструментарию и по времени, которое придется затратить на подготовку и проведение такого тестирования. Стоит ли тратить столько лишних денег и времени, которое опять же деньги?Задача усложняется тем, что грузить приложение надо через GUI - аналогия Distributed тестирования. Нужно организовать порядка 50 клиентов.
В принципе можно. Если машины достаточно мощные. Но надо смотреть. Может 4-5 машин понадобится. Инструментарий понятно какой - QTP+LR или WR+LR.Можно ли это дело организовать на 2-3 машинах и какой инструмент посоветуете?
#3
Отправлено 18 мая 2006 - 07:10
А можно полюбопытствовать чем вызвано требование проведения нагрузочного тестирования через GUI? Это не просто усложняет задачу, это делает ее на порядок более сложной. Не говоря уже о том, что это будет стоить гораздо дороже и по требуемому инструментарию и по времени, которое придется затратить на подготовку и проведение такого тестирования. Стоит ли тратить столько лишних денег и времени, которое опять же деньги?
Попробую пояснить.
GUI реализован довольно сложно - происходит накопление данных в кеше и пересылка их на сервер, на сервере идет размещнеие данных, их обработка и возврат значений, на клиента которые довольно тоже громоздкие и грузят клиента, так сказать по полной: обновление данных в интерфейсе, перерисовка графиков и т.п. прелести
В принципе можно. Если машины достаточно мощные. Но надо смотреть. Может 4-5 машин понадобится. Инструментарий понятно какой - QTP+LR или WR+LR.
Можно в принципе - это значит, что на 2-3 машинах запускается полноценная работа 10 клиентов моего приложения?
С QTP+LR или WR+LR, к сожалению не работал плотно, да и лицензий нет, поэтому возникает вопрос, насколько даная задача реализуема средствами Rational?
#4
Отправлено 18 мая 2006 - 16:43
Тяжелый клиент еще не причина, чтобы заниматься мазохизмом. Вам вполне достаточно генерировать требуемую нагрузку VU пользователями и иметь одного GUI пользователя, чтобы смотреть насколько шустро у вас клиент отрабатывает при такой нагрузке.GUI реализован довольно сложно - происходит накопление данных в кеше и пересылка их на сервер, на сервере идет размещнеие данных, их обработка и возврат значений, на клиента которые довольно тоже громоздкие и грузят клиента, так сказать по полной: обновление данных в интерфейсе, перерисовка графиков и т.п. прелести
Думаю, что десяток пользователей поднять можно будет на каждой машине. Зависит, конечно, сильно от приложения и того, что вы в нем делаете. Это через Terminal Services делается.Можно в принципе - это значит, что на 2-3 машинах запускается полноценная работа 10 клиентов моего приложения?
Это пусть вам спецы по Rational скажут.С QTP+LR или WR+LR, к сожалению не работал плотно, да и лицензий нет, поэтому возникает вопрос, насколько даная задача реализуема средствами Rational?
#7
Отправлено 19 мая 2006 - 08:57
но все зависит от ваших "обновление данных в интерфейсе, перерисовка графиков и т.п. прелести"... надо пробовать.
#8
Отправлено 19 мая 2006 - 09:36
В принципе реализуема средствами решенал...
но все зависит от ваших "обновление данных в интерфейсе, перерисовка графиков и т.п. прелести"... надо пробовать.
Сам тетсовый скрипт довольно прост - тыкаемся наугад в середину графика и начинает работать логика, тыкаемся еще несколько раз рандомайзным образом и нажимаем экранную кнопку ОК, мол, разместить даные на сервере. Далее ждем рефреша данных (это время и будем засекать)
#9
Отправлено 19 мая 2006 - 23:01
Каким образом реализуемость может зависеть от того, какие действия пользователей эмулируются? Либо тул для нагрузочного тестирования от Rational умеет запускать десятки GUI юзеров на одной машине или не умеет. Либо он умеет в одном нагрузочном сценарии смешивать GUI и VU юзеров или не умеет. Именно от этого зависит реализуемость, а не от того какие данные обновляются в интерфейсе.В принципе реализуема средствами решенал...
но все зависит от ваших "обновление данных в интерфейсе, перерисовка графиков и т.п. прелести"... надо пробовать.
#10
Отправлено 22 мая 2006 - 07:16
В принципе реализуема средствами решенал...
но все зависит от ваших "обновление данных в интерфейсе, перерисовка графиков и т.п. прелести"... надо пробовать.
Попробовали поиграться средствами Rational для эмуляции нагрузки
Первые впечатления:
1. Синтаксис скрипта пишется с ошибками, забывает добавлять кавычки в команду
2. Не понимает команду use <database>, в случае если логин сервера имеет права на несколько баз
3. Не понимает в sqlconnect существование разных инстансов на MS SQL
Остается проблема - как учитывать кеширование данных на клиенте?
#11
Отправлено 15 июня 2006 - 14:28
Уважаемые коллеги, вопрос состоит в следующем
Необходимо провести нагрузочное тестирование клиент/серверного приложения.
Задача усложняется тем, что грузить приложение надо через GUI - аналогия Distributed тестирования. Нужно организовать порядка 50 клиентов.
Можно ли это дело организовать на 2-3 машинах и какой инструмент посоветуете?
А клиент случаем не IE (или, например, окошко с какими-нибудь DHTML контроллами)?
#13
Отправлено 16 июня 2006 - 13:53
В принципе реализуема средствами решенал...
но все зависит от ваших "обновление данных в интерфейсе, перерисовка графиков и т.п. прелести"... надо пробовать.
Сам тетсовый скрипт довольно прост - тыкаемся наугад в середину графика и начинает работать логика, тыкаемся еще несколько раз рандомайзным образом и нажимаем экранную кнопку ОК, мол, разместить даные на сервере. Далее ждем рефреша данных (это время и будем засекать)
есть такая идея:
пишем скрипт (клиент), который обращается к серверу, получает данные и вызывает функции обработки из клиента, получает результат обработки и обращается к серверу вновь.
сервер ---данные---> скрипт ---данные---> обработка на клиенте (непосредственный вызов скриптом функций из dll-лек клиента) ---данные---> скрипт ---данные---> сервер
т. е. идея в том, чтобы заместить "обычный" клиент "своим", при этом реализовав в "своем" клиенте функциональность "обычного" по обработке данных.
И не надо тогда никакого ГУИ, даже тулов в принципе не надо: VBScript например вполне подойдет
#14
Отправлено 19 июня 2006 - 07:25
есть такая идея:
пишем скрипт (клиент), который обращается к серверу, получает данные и вызывает функции обработки из клиента, получает результат обработки и обращается к серверу вновь.
И не надо тогда никакого ГУИ, даже тулов в принципе не надо: VBScript например вполне подойдет
Спасибо за идею, но к сожалению, не подходит.
Получается - надо писать свой тул. А хотелось бы уйти от столь тяжеловесной задачи и воспользоваться готовыми решениями
#15
Отправлено 21 июня 2006 - 09:45
Спасибо за идею, но к сожалению, не подходит.
Получается - надо писать свой тул. А хотелось бы уйти от столь тяжеловесной задачи и воспользоваться готовыми решениями
В любом случае оцените время на внедрение заранее, посоветуйтесь с разработчиками. ИМХО и по опыту, порой написать что-то свое под конкретную задачу бывает быстрее, чем укротить какого-нить универсального и большого "зверя"
Энивэй, эт Вам решать.
#16
Отправлено 21 июня 2006 - 12:01
Уже поняли, что Робот аналог профайлера, а нужно оценить скорость работы именно клиентской части, причем сам алгорит действий пользвателя не принципиален.
Пожтому и поставлена задача найти способ тестирования нагрузки через distributed тестирование.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных