Перейти к содержимому

Фотография

Load Testing

load testing

  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 Nesquick

Nesquick

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Лещенко Александр Владимирович

Отправлено 15 августа 2017 - 09:02

Всем доброго времени суток, вопрос заключается в следующем, мне нужно провести нагрузочное тестирование с нагрузкой в 6000 ++ юзеров на серверно ориентированное приложение WinApi (было написано на Delphi) имеет коннект к Oracle DB. Хотелось бы узнать, как лучше всего сделать такую нагрузку, и была ли практика у кого то. Пробывал всё сделать через Load Runner, но как понимаю в Vugen скрипт не запишешь, т.к нету протокола по которому можно записать WinApi, после чего для написания скрипта я воспользовался UFT Function Testing.Но скрипт записанный c помощью UFT, не даёт тех метрик, которые нужны(((( Мб что ещё есть ?.Буду очень благодарен за помощь. :yu: 


  • 0

#2 tjupka

tjupka

    Активный участник

  • Members
  • PipPip
  • 81 сообщений

Отправлено 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;


  • 0

https://tjupka.blogspot.ru - из опыта тестировщика




Темы с аналогичным тегами load testing

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных