Тестирование web магазина на производительность
#1
Отправлено 29 января 2009 - 15:59
Вопрос по Тестированию web магазина на производительность.
Задача поставлена такая:
Пользователи совершают LOGIN под своими учётными записями (login and pass), заходят в товары, помещают в карзину нужные товары, осуществляют заказ и делают LOG OUT!
Суть вопроса:
1. Как лучше организовать срипт?
а - для каждого отдельного пользователя делать новый скрипт с различными логинами и паролями и всё это потом поместить в один сценарий, присвоив каждому скрипту по одному vuser-у?
b - написать один общий скрипт, где каким-то образом будет реализовано всё описанное выше и потом в сценарии каким-то образом распределить vuser-ов по конкретным логинам и паролям?
Впервые просто столкнулся с такой задачей! Подскажите логику тестирования такого рода приложений
2. Как работать в тот момент когда на этапе ПРОИГРЫВАНИЯ скрипта , в момент подтверждения заказа пользователем происходит ошибка, суть которой, в том, что сессия устарела и я получаю эксепшн вида: Exception Details: System.Web.HttpException: The state information is invalid for this page and might be corrupted
#2
Отправлено 29 января 2009 - 17:11
Также старайтесь избегать ошибок таймаута, это сделать не сложно, просто подсчитайте, чтобы между операциями пользователя небыло больших промежутков времени, которые превышают тайм аут.
#3
Отправлено 30 января 2009 - 09:09
А может быть подскажете как быть с пунктом два моего вопроса:
Как работать в тот момент когда на этапе ПРОИГРЫВАНИЯ скрипта , в момент подтверждения заказа пользователем происходит ошибка, суть которой, в том, что сессия устарела и я получаю эксепшн вида: Exception Details: System.Web.HttpException: The state information is invalid for this page and might be corrupted
#4
Отправлено 30 января 2009 - 09:26
Сессия експайрится тогда, когда юзер определенное к-во времени находится в режиме бездействия. Вам нужно уточнить у двелоперов какой у вашего приложения сессионный тайм-аут. Потом проверить скрипты нету ли в скритпах тайм-аутов между действиями пользователя, которые превышают сессионный тайм аут.Как работать в тот момент когда на этапе ПРОИГРЫВАНИЯ скрипта , в момент подтверждения заказа пользователем происходит ошибка, суть которой, в том, что сессия устарела и я получаю эксепшн вида: Exception Details: System.Web.HttpException: The state information is invalid for this page and might be corrupted
Относительно вашей ошибки, я уверен что это не есть ошибка експайра сессии: http://support.microsoft.com/kb/812399
#5
Отправлено 30 января 2009 - 10:08
В частности я получаю такие ошибки про прогоне скрипта:
Action.c(136): Error -26612: HTTP Status-Code=500 (Internal Server Error) for "http://localhost/res...my orders.aspx" [MsgId: MERR-26612]
Action.c(136): Error -26377: No match found for the requested parameter "Siebel_Analytic_ViewState7". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 3056 bytes, use web_set_max_html_param_len to increase the parameter size [MsgId: MERR-26377]
Action.c(136): web_submit_data("my%20orders.aspx") highest severity level was "ERROR", 7459 body bytes, 426 header bytes [MsgId: MMSG-26388]
vuser_end.c(4): web_submit_data("profile%20page.aspx") highest severity level was "ERROR", 7324 body bytes, 426 header bytes [MsgId: MMSG-26388]
#6
Отправлено 30 января 2009 - 10:28
http://loadrunnertnt...ested-parameterВ частности я получаю такие ошибки про прогоне скрипта:
Action.c(136): Error -26612: HTTP Status-Code=500 (Internal Server Error) for "http://localhost/res...my orders.aspx" [MsgId: MERR-26612]
Action.c(136): Error -26377: No match found for the requested parameter "Siebel_Analytic_ViewState7". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 3056 bytes, use web_set_max_html_param_len to increase the parameter size [MsgId: MERR-26377]
Action.c(136): web_submit_data("my%20orders.aspx") highest severity level was "ERROR", 7459 body bytes, 426 header bytes [MsgId: MMSG-26388]
vuser_end.c(4): web_submit_data("profile%20page.aspx") highest severity level was "ERROR", 7324 body bytes, 426 header bytes [MsgId: MMSG-26388]
#7
Отправлено 30 января 2009 - 10:40
буду разбираться с тем, как это всё реализовать, судя по всему ошибка именно в реализации скрипта, не учёл многих вещей по неопытности. Жаль, что в официальных мануалах этому вопросу совершенно не уделяется внимания, лишь сухая теория...
Atomic_A@ukr.net , спасибо вам за толковые ответы!
#8
Отправлено 31 января 2009 - 05:27
Учить что такое корреляция (автоматическая и ручная), как с ней работать и пр. это не дело мануалов. Мануал по VuGen и так почти полторы тысячи страниц, куда его еще то раздувать? То, что вам нужно, детально рассматривается в курсе "VuGen scripting for the Web", который стоило бы посетить, если есть такая возможность.Жаль, что в официальных мануалах этому вопросу совершенно не уделяется внимания, лишь сухая теория...
#9
Отправлено 05 февраля 2009 - 10:05
#10
Отправлено 05 февраля 2009 - 21:25
Информацию по LR курсам, доступным на сегодняшний день, можно посмотреть вот здесь: http://h20546.www2.h...amp;sitepick=USDmitry_NJ, расскажите пожалуйста об этом курсе подробней (где и как его можно пройти) или дайте ссылку на подробную информацию, это действительно очень нужно. Спасибо!
Где, как и какие из этих курсов можно пройти в вашей стране, я, разумеется, знать не могу. Надо связываться с вашим локальным офисом HP (или с кем-нибудь из партнеров) и узнавать детали у них. Если вы из России, то могу дать прямой контакт менеджера из московского офиса HP, который специализируется на ex-Mercury продуктах (пишите в личку).
#11
Отправлено 17 февраля 2009 - 11:03
Но вот на что обратил внимание, при записи заполнения формы, вижу следующее
web_custom_request("contact.aspx",
"URL=http://mysite/contact.aspx",
"Method=POST",
"Resource=0",
"RecContentType=text/plain",
"Referer=http://mysite/contact.aspx",
"Snapshot=t6.inf",
"Mode=HTML",
"EncType=application/x-www-form-urlencoded; charset=utf-8",
"Body=ScriptManager=ctl02%24ctl05%24updPanel%7Cctl02%24ctl05%24txtFirstName&__EVENTTARGET=ctl02%24ctl05%24txtFirstName&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE={Siebel_Analytic_ViewState6_URL}&slHeader%24slSearch%24txtInputField=Find%20a%20product&ctl02%24ctl05%24title=rbtMs&ctl02%24ctl05%24txtFirstName=Dima&ctl02%24ctl05%24txtLastName=&ctl02%24ctl05%24txtAddress=&ctl02%24ctl05%24txtHn=&ctl02%24ctl05%24txtZip=&ctl02%24ctl05%24txtCity=&ctl02%24ctl05%24txtTelephone=&ctl02%24ctl05%24txtFax=&"
"ctl02%24ctl05%24txtEmail=&ctl02%24ctl05%24txtComments=&focus=ctl02%24ctl05%24txtLastName&slFooter%24slNewsletter%24txtNewsletter=Fill%20in%20your%20email%20address%20here&__EVENTVALIDATION=%2FwEWEwKPgeb%2FAQLcstaTDAKwnOrRCwLk5av1CgLr5av1CgK43LPpDQL4pbyODALk07vkAgKjhYf3BgLFn4HYDwLIn9nwAgK19t7ICgKf9o2CDgLAn4ndBQKB47X%2FCwKKraj8CgLc1ISzDgKYgs3yBgKbraSjCnAq70Of1wFNWpgi7e5OKunpOdlE&",
EXTRARES,
"Url=/ScriptResource.axd?d=AAXALrF0rXM0Y1gzrkWaAcvXNyplz-fRDkMPyHiFwNCkkPvs1g7tir3CdDLf_DFy0&t=633540793851308336", ENDITEM,
"Url=/images/cnb/decor/V.gif", ENDITEM,
LAST);
и так для каждого поля формы!!! - что при реплее вызывает ошибку 26612
Не могли бы вы пояснить:
1. Почему введённые данные с формы, LR записывает вот в таком вот виде (кусок кода выше)
2. Не могу понять в данной ситуации, какой аргумент мне нужно параметризовать. ID нужного мне филда ctl02%24ctl05%24txtFirstName ....но вот что значит всё остальное я не могу понять
3. Имеет ли значение в данном случае Recording Level ? Объясните разницу на примере между HTML-based script и URL-based script? так как я понял , из документации, что это имеет значение для кореляции
#12
Отправлено 06 марта 2009 - 09:30
#13
Отправлено 06 марта 2009 - 10:11
Неужели никто так ничего и не скажет?
Все что нужно было уже в принципе вам сказали, нужна параметризация. В вашем коде выше явно видно что сабмитится view state, который нужно коррелировать. Почему именно так происходит - почитайте как работает ASP.NET и что такое view state и как с ним работать.
Практически все елементы которые у вас находятся в Body необходимо коррелировать: ScriptManager, EVENTTARGET, VIEWSTATE, EVENTVALIDATION.
Принципиального значения в данном случае recording level не имеет, просто в URL моде ваш скрипт будет значительно большим и я бы советовал вам использовать HTML level.
Вам нужно понять что вы сабмитите выполняя запрос, желательно визуализировать, так будет проще. Для этого запишите ваш запрос с помощью badboy, сделайте експорт скрипта в Jmeter и посмотрите что сабмитится при вашем запросе. Удобство в том, что в Jmeter каждый параметр будет отдельно идентифицирован, что поможет разобраться что именно нужно коррелировать.
#14
Отправлено 10 марта 2009 - 15:21
Неужели никто так ничего и не скажет?
Попробуй поюзать WEB Click & Script или Ajax Click & Script протоколы.
Если они не отработают, Бог в помощь - придется коррелировать каждый вьюстейт.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных