Clarity PPM1

Expand all | Collapse all

A process for load/stress/performance test

  • 1.  A process for load/stress/performance test

    Posted 10-14-2016 07:18 AM

    I  need a process to be executed as on demand or even schedule with job in order to load the background service and test  the process engine.

     

    I suppose this process should include, several steps containing  a script with heavy calculations, a heavy query to db, and maybe also write something in any temporary table.

     

    How are you checking the process engine? have you any scheduled process with testing purposes?

    any idea other idea?



  • 2.  Re: A process for load/stress/performance test

    Posted 10-17-2016 05:14 AM

    Hi,

     

    See if BPM_RUN_PROCESS_ENGINES table fulfills your requirement.



  • 3.  Re: A process for load/stress/performance test

    Posted 10-17-2016 05:19 AM

    Hi Daniel,

     

    Use this query to check your process engine health, if you want to do a stress testing you need to run invoke multiple process and then check the number of threads its opening via event tabs and then gather thread dump to see if there is any thread which is hanging. Also you need to have adequate memory so keep a check at the JVM utilazation allocated to BG.

     

    Also a best practice to segregate the job and process run separately as a BG and have no more than 2 BG for process engine. 

     

    select
    count(run_proc.id) Processes_Started,
    to_date(to_char(run_proc.start_date, 'YYYY-MM-DD HH24') || ':' || floor(TO_NUMBER(TO_CHAR(run_proc.start_date,'MI'))/30)*30, 'YYYY-MM-DD HH24:MI') start_datetime,
    (to_char(run_proc.start_date, 'YYYY-MM-DD HH24') || ':' || floor(TO_NUMBER(TO_CHAR(run_proc.start_date,'MI'))/30)*30) start_datetime_char,
    max(round((run_step.start_date - run_proc.start_date)*60*60*24,2)) max_Start_delay,
    avg((run_step.start_date - run_proc.start_date)*60*60*24) Avg_start_delay
    from
    bpm_run_processes run_proc
    inner join bpm_def_process_versions proc_ver on proc_ver.id = run_proc.process_version_id
    INNER join cmn_captions_nls proc_nls on (proc_nls.table_name = 'BPM_DEF_PROCESSES' and proc_NLS.PK_ID = proc_ver.process_id)
    inner join bpm_run_steps run_step on run_step.process_instance_id = run_proc.id
    INNER join cmn_captions_nls step_nls on (step_nls.table_name = 'BPM_DEF_STEPS' and STEP_NLS.PK_ID = run_step.step_id)
    where run_proc.created_date > sysdate -5
    and step_nls.language_code = 'en' and step_nls.name = 'Start'
    and proc_nls.language_code = 'en'
    group by to_date(to_char(run_proc.start_date, 'YYYY-MM-DD HH24') || ':' || floor(TO_NUMBER(TO_CHAR(run_proc.start_date,'MI'))/30)*30, 'YYYY-MM-DD HH24:MI'), (to_char(run_proc.start_date, 'YYYY-MM-DD HH24') || ':' || floor(TO_NUMBER(TO_CHAR(run_proc.start_date,'MI'))/30)*30)
    order by to_date(to_char(run_proc.start_date, 'YYYY-MM-DD HH24') || ':' || floor(TO_NUMBER(TO_CHAR(run_proc.start_date,'MI'))/30)*30, 'YYYY-MM-DD HH24:MI')

     

    Regards

    Suman Pramanik 



  • 4.  Re: A process for load/stress/performance test

    Posted 10-17-2016 07:40 AM

    I believe whatever monitoring query or script you prepare should be working from outside the Clarity Background service. Hence I think you should not be using any clarity job or clarity process to achieve the same.



  • 5.  Re: A process for load/stress/performance test

    Posted 10-17-2016 08:01 AM

    Yes its a plain SQL query, you can build portlet too. 



  • 6.  Re: A process for load/stress/performance test

    Posted 10-17-2016 11:21 AM

    Yes, the performance monitoring tasks will be done out of Clarity, I will check it at OS level.

    But what I am looking for is an on demand process to create work load in the bg service  when there is not real user workload or when the environment is not production so there is not real users working.

     

    Thnx!



  • 7.  Re: A process for load/stress/performance test

    Posted 10-17-2016 12:10 PM

    Hi Daniel,

     

    If there are no users you need to simulate the user actions via automated tools like load runner which will perform 100's of actions and then you can monitor.

     

    Regards

    Suman Pramanik 



  • 8.  Re: A process for load/stress/performance test

    Posted 10-18-2016 03:54 AM

    I knew about this approach based in automating,and it can work very well to execute some big portlets, but i see more problem to test processes, due to the fact that some modify information in database and others  sent Actions items to different roles/user (script should authenticate as different users).

     

    Are you using any out  of the box process for testing? which one?

     

    These automating/testing tools* could be very useful to launch and move the flow of this "theoretical testing process"  (containing script actions impacting in memory/cpu load but without impact in real Clarity data).

    *I never used Load runner but it seems similar to another free tool called Selenium IDE.

    thanx