Всем доброго времени суток, вопрос заключается в следующем, мне нужно провести нагрузочное тестирование с нагрузкой в 6000 ++ юзеров на серверно ориентированное приложение WinApi (было написано на Delphi) имеет коннект к Oracle DB. Хотелось бы узнать, как лучше всего сделать такую нагрузку, и была ли практика у кого то. Пробывал всё сделать через Load Runner, но как понимаю в Vugen скрипт не запишешь, т.к нету протокола по которому можно записать WinApi, после чего для написания скрипта я воспользовался UFT Function Testing.Но скрипт записанный c помощью UFT, не даёт тех метрик, которые нужны(((( Мб что ещё есть ?.Буду очень благодарен за помощь.
#1
Отправлено 15 августа 2017 - 09:02
#2
Отправлено 01 сентября 2017 - 16:17
Дельфовые интерфейсные компоненты распознаёт благополучно только TestComplete.
C 2002 года ничего другого не смогли применить для Windows приложения, написанного на Delphi.
Для полноты теста лучше создать сначала этих 6000+ юзеров обычным pl/sql скриптом в базе Oracle, потому что коннекты от одного и того же юзера могут исказить инфу в приложении, например, сгруппируют сессии по имени.
Скрипт на создание 6000 схем с 100 таблицами и 100 процедурами:
DECLARE I INTEGER; J INTEGER; Num_Schemas CONSTANT INTEGER := 6000; -- number of schemas Num_Objects CONSTANT INTEGER := 100; -- number of objects exec_STMT VARCHAR2(4000); BEGIN -- DROP ALL SCHEMAS FOR I IN (SELECT USERNAME FROM DBA_USERS WHERE USERNAME LIKE 'TEST_SCHEMA%') LOOP BEGIN exec_STMT := 'DROP USER '||I.USERNAME||' CASCADE'; EXECUTE IMMEDIATE exec_STMT; END; END LOOP; -- Create users with necessary grants (enough for Oracle 10g and lower), objects FOR I IN 1..Num_Schemas LOOP BEGIN exec_STMT := 'CREATE USER TEST_SCHEMA_'||TO_CHAR(I)||' IDENTIFIED BY TEST_SCHEMA_'||TO_CHAR(I)||''; EXECUTE IMMEDIATE exec_STMT; exec_STMT := 'GRANT CONNECT, RESOURCE TO TEST_SCHEMA_'||TO_CHAR(I)||''; EXECUTE IMMEDIATE exec_STMT; exec_STMT := 'GRANT UNLIMITED TABLESPACE TO TEST_SCHEMA_'||TO_CHAR(I)||''; EXECUTE IMMEDIATE exec_STMT; EXCEPTION WHEN OTHERS THEN NULL; END; FOR J IN 1..Num_Objects LOOP exec_STMT := 'CREATE TABLE TEST_SCHEMA_'||TO_CHAR(I)||'.TABLE_'||TO_CHAR(J)||' AS (SELECT * FROM HR.DEPT)'; EXECUTE IMMEDIATE exec_STMT; END LOOP; FOR J IN 1..Num_Objects LOOP exec_STMT := 'CREATE PROCEDURE TEST_SCHEMA_'||TO_CHAR(I)||'.PROCEDURE_'||TO_CHAR(J)||' IS V_DNAME VARCHAR2(100); BEGIN SELECT DNAME INTO V_DNAME FROM TEST_SCHEMA_'||TO_CHAR(I)||'.TABLE_'||TO_CHAR(J)||' WHERE DEPTNO = -1; END;'; EXECUTE IMMEDIATE exec_STMT; END LOOP; END LOOP; END;
https://tjupka.blogspot.ru - из опыта тестировщика
Темы с аналогичным тегами load testing
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных