Re: performance issues

Sasa Bojanic <[email protected]> Wed, 20 Dec 2006 12:33:51 +0100
Newsgroups gmane.comp.java.enhydra.shark
Message-ID <[email protected]>
This is a multi-part message in MIME format...

------------=_1166614282-5041-95
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

did you try to switch-off Security API? It should also improve the 
performance with shark1.1.

Just for your information, the Shark2.0-beta7 version is coming with 
SwingAdmin application + WEB Admin application + some other useful 
client utilities...

Greetings,
Sasa.

Ramy Khalil wrote:
> Dear Sasa Bojanic
>       First i would like to thank u for your fast response.
> i am using shark 1.1 as you assumed because simply i can't use a beta
> version (company policy).
> i changed my code to use SharkTransaction and it really improved the
> performance.i cerated 25 assignments and i got that result:
> Assignment no 0 lasted: 94ms
> Assignment no 1 lasted: 78ms
> Assignment no 2 lasted: 110ms
> Assignment no 3 lasted: 94ms
> Assignment no 4 lasted: 94ms
> Assignment no 5 lasted: 63ms
> Assignment no 6 lasted: 94ms
> Assignment no 7 lasted: 94ms
> Assignment no 8 lasted: 93ms
> Assignment no 9 lasted: 94ms
> Assignment no 10 lasted: 79ms
> Assignment no 11 lasted: 78ms
> Assignment no 12 lasted: 125ms
> Assignment no 13 lasted: 110ms
> Assignment no 14 lasted: 78ms
> Assignment no 15 lasted: 94ms
> Assignment no 16 lasted: 110ms
> Assignment no 17 lasted: 94ms
> Assignment no 18 lasted: 78ms
> Assignment no 19 lasted: 78ms
> Assignment no 20 lasted: 94ms
> Assignment no 21 lasted: 63ms
> Assignment no 22 lasted: 110ms
> Assignment no 23 lasted: 266ms
> Assignment no 24 lasted: 172ms
> time taken: 2537 for total
> with shark1.1
>
> which is an improvement but still not the desired performance.
>
> i know that you will say use Shark 2.0.7 beta but as i said i can't use a
> beta version according to my company policy also i downloaded shark
> 2.0.5beta but i does not have the swing admin interface and the batch
> file (
> runsa.bat).
>
> On 12/20/06, Sasa Bojanic <[email protected]> wrote:
>>
>> Hi,
>>
>> as I said, these are the tests with the latest 2.0-beta7 shark version
>>
>> Sasa.
>>
>> Thomas Buffagni wrote:
>> > Hi Sasa Bojanic,
>> > I'm curious to know what is the execution time of the same code below
>> with the
>> > latest version of shark...Does anybody have made some tests  ? - 
>> Thomas.
>> >
>> > Sasa Bojanic ha scritto:
>> > > Hi,
>> > >
>> > > I made some tests on Shark2.0-beta7 using MySQL database.
>> > >
>> > > Here is the code snippet:
>> > >
>> > >         long t1, t2, t3;
>> > >         t1 = System.currentTimeMillis();
>> > >
>> > >         ut.begin();
>> > >         WfAssignment[] ass = sc.getResourceObject
>> ().get_sequence_work_item(0);
>> > >         ut.commit();
>> > >
>> > >         t2 = System.currentTimeMillis();
>> > >
>> > >         for (int i = 0; i < ass.length; i++) {
>> > >            long ti = System.currentTimeMillis();
>> > >            ut.begin();
>> > >            WfAssignment as = ass[i];
>> > >            WfActivity act = as.activity();
>> > >            act.key();
>> > >            act.name();
>> > >            WfProcess proc = act.container();
>> > >            proc.name();
>> > >
>> > > am.getProcessDefinitionInfoByUniqueProcessDefinitionName(
>> sc.getSessionHandle(),
>> > >
>> > > proc.manager()
>> >
>> >                                                                        
>> .name());
>> > >            am.getProcessCreatedTime(sc.getSessionHandle(), proc.key
>> ());
>> > >            am.getActivityCreatedTime(sc.getSessionHandle(), proc.key
>> (),
>> > > act.key());
>> > >            DeadlineInfo[] difo =
>> > > am.getDeadlineInfoForActivity(sc.getSessionHandle(),
>> > >
>> proc.key(),
>> > >                                                                
>> act.key
>> ());
>> > >            ut.commit();
>> > >            long te = System.currentTimeMillis();
>> > >
>> > >            System.out.println("Assignment no. "
>> > >                               + (i + 1) + ": act=" + act.key() + ",
>> exec lasted "
>> > >                               + (te - ti) + " ms");
>> > >
>> > >         }
>> > >         t3 = System.currentTimeMillis();
>> > >
>> > >         System.out.println("Overal exec lasted "
>> > >                            + (t3 - t1) + " ms, midTime=" + (t2 - 
>> t1) +
>> " ms,
>> > > avgTime="
>> > >                            + (t3 - t2) / ass.length + " ms");
>> > >
>> > >
>> > > And here is the output:
>> > >
>> > > Assignment no. 1:
>> act=269_24_deadline_examples_do_something_do_something2,
>> > > exec lasted 31 ms
>> > > Assignment no. 2:
>> act=21_16_workflow_patterns_WfSP2_Implicit_Termination_A,
>> > > exec lasted 16 ms
>> > > Assignment no. 3:
>> act=261_8_workflow_patterns_WfBCP4_Exclusive_Choice_B, exec
>> > > lasted 31 ms
>> > > Assignment no. 4: 
>> act=8_7_workflow_patterns_WfBCP3_Synchronization_A,
>> exec
>> > > lasted 31 ms
>> > > Assignment no. 5:
>> > > act=22_17_workflow_patterns_WfPIMI1_MI_without_synchronization_A, 
>> exec
>> lasted
>> > > 16 ms
>> > > Assignment no. 6:
>> > >
>> act=263_21_deadline_examples_several_async_and_one_sync_deadline_see_log, 
>>
>> exec
>> > > lasted 31 ms
>> > > Assignment no. 7: act=271_2_test_js_manufacturing_produce_part2, 
>> exec
>> lasted
>> > > 32 ms
>> > > Assignment no. 8: act=1_1_test_js_basic_A1, exec lasted 31 ms
>> > > Assignment no. 9: 
>> act=16_13_workflow_patterns_WfABSP4_Discriminator_A,
>> exec
>> > > lasted 15 ms
>> > > Assignment no. 10:
>> > >
>> act=25_20_deadline_examples_simple_async_and_sync_deadline_do_something,
>> exec
>> > > lasted 47 ms
>> > > Assignment no. 11: act=31_25_test_js_mail_handling_enter_parameters,
>> exec
>> > > lasted 32 ms
>> > > Assignment no. 12:
>> act=20_15_workflow_patterns_WfSP1_Arbitrary_Cycles_A, exec
>> > > lasted 15 ms
>> > > Assignment no. 13:
>> act=11_10_workflow_patterns_WfABSP1_Multiple_Choice_A, exec
>> > > lasted 16 ms
>> > > Assignment no. 14: act=6_5_workflow_patterns_WfBCP1_Sequence_A, exec
>> lasted 31 ms
>> > > Assignment no. 15:
>> > > act=28_22_deadline_examples_block_sync_deadline_do_something1, exec
>> lasted 16 ms
>> > > Assignment no. 16: act=270_2_test_js_manufacturing_produce_part1, 
>> exec
>> lasted
>> > > 15 ms
>> > > Assignment no. 17: 
>> act=7_6_workflow_patterns_WfBCP2_Parallel_Split_A,
>> exec
>> > > lasted 47 ms
>> > > Assignment no. 18: act=5_4_test_js_publish_doc_submit_document, exec
>> lasted 16 ms
>> > > Assignment no. 19: act=3_3_test_js_specrelease_specification, exec
>> lasted 47 ms
>> > > Assignment no. 20:
>> act=12_11_workflow_patterns_WfABSP2_Synchronizing_Merge_A,
>> > > exec lasted 15 ms
>> > > Assignment no. 21:
>> > >
>> act=23_18_workflow_patterns_WfPIMI2_MI_with_a_priori_known_design_time_knowledge_A, 
>>
>> > > exec lasted 16 ms
>> > > Assignment no. 22:
>> act=19_14_workflow_patterns_WfABSP5_N_out_of_M_Join_A, exec
>> > > lasted 31 ms
>> > > Assignment no. 23: act=10_9_workflow_patterns_WfBCP5_Simple_Merge_A,
>> exec
>> > > lasted 16 ms
>> > > Assignment no. 24:
>> act=13_12_workflow_patterns_WfABSP3_Multiple_Merge_A, exec
>> > > lasted 31 ms
>> > > Assignment no. 25:
>> > > act=24_19_deadline_examples_simple_sync_deadline_do_something, exec
>> lasted 31 ms
>> > > Overal exec lasted 703 ms, midTime=47 ms, avgTime=26 ms
>> > >
>> > >
>> > > As you can see, the average time for getting requested 
>> information is
>> 26ms per
>> > > assignment which I think is good enough.
>> > >
>> > > I assume you are using Shark1.1 version? If so, it can greatly 
>> improve
>> > > performance if you turn-off Security API  (by commenting appropriate
>> line in
>> > > Shark.conf).
>> > > The greatest improvement would be if you would do your queries using
>> single
>> > > SharkTransaction (in your example there are more than 10 
>> transactions
>> > > implicitly created). In Shark1.1 it would be something like:
>> > >
>> > > SharkTransaction st=null;
>> > > try {
>> > >  st=Shark.getInstance().createTransaction();
>> > >  WfActivity activity = assignment.activity(st);
>> > >  activity.key(st);
>> > >  activity.name(st);
>> > >  WfProcess process = activity.container(st);
>> > >  process.name(st);
>> > >  adminMisc.getProcessMgrPkgId(st,process.manager(st).name(st));
>> > >  adminMisc.getProcessCreatedTime(st,process.key(st));
>> > >  adminMisc.getActivityCreatedTime(st,process.key(st),activity.key
>> (st));
>> > >  DeadlineInfo[] deadlineInfos =
>> > > deadlineAdministration.getDeadlineInfo(st,process.key(st),
>> activity.key(st));
>> > >
>> > > } catch (Exception ex) {
>> > >  Shark.getInstance().emptyCaches();
>> > > } finally {
>> > >  try {
>> > >    st.release();
>> > >  } catch (Exception ex) {}
>> > >    try {
>> > >      Shark.getInstance().unlockProcesses(st);
>> > >    } catch (Exception ex) {}
>> > > }
>> > >
>> > > Greetings,
>> > > Sasa.
>> > >
>> > > [email protected] wrote:
>> > >> I am facing the problem of very slow response from shark when 
>> getting
>> > >> information about process and activities.
>> > >>
>> > >> my code is:
>> > >>
>> > >> WfAssignment
>> > >> 
>> assignment=connection.getResourceObject().get_sequence_work_item(0);
>> > >>
>> > >> WfActivity activity = assignment.activity();
>> > >> activity.key());
>> > >> activity.name());
>> > >> WfProcess process = activity.container();
>> > >> process.name());
>> > >> adminMisc.getProcessMgrPkgId(process.manager().name()));
>> > >> adminMisc.getProcessCreatedTime(process.key())));
>> > >> adminMisc.getActivityCreatedTime(process.key(),activity.key())));
>> > >> DeadlineInfo[] deadlineInfos =
>> > >> deadlineAdministration.getDeadlineInfo(process.key(), activity.key
>> ());
>> > >>
>> > >>
>> > >> this part of code takes about 545 Milli seconds each time i call 
>> that
>> code.
>> > >> in fact i need to call that code for each activity assigned to a
>> user, so for
>> > >> example if the user have 20 activities approximately the time taken
>> in
>> > >> getting those information is about 10 seconds for each user 
>> which is
>> not
>> > >> acceptable at all so am asking if their is a way to enhance the
>> performance
>> > >> of that code or any sort of shark configuration available to 
>> enhance
>> the
>> > >> shark performance.
>> > >>
>> > >> regards Ramy
>> > >>
>> > >>
>> ------------------------------------------------------------------------
>> > >>
>> > >>
>> > >> --
>> > >> You receive this message as a subscriber of the 
>> [email protected]
>> > >> list.
>> > >> To unsubscribe: mailto:[email protected]
>> > >> For general help: mailto:[email protected]?subject=help
>> > >> ObjectWeb mailing lists service home page:
>> http://www.objectweb.org/wws
>> > >>
>> > >
>> > >
>> > >
>> -------------------------------------------------------------------------------- 
>>
>> > >
>> > >
>> > > --
>> > > You receive this message as a subscriber of the 
>> [email protected] list.
>> > > To unsubscribe: mailto:[email protected]
>> > > For general help: mailto:[email protected]?subject=help
>> > > ObjectWeb mailing lists service home page:
>> http://www.objectweb.org/wws
>> > >
>> >
>> >
>> > 
>> ------------------------------------------------------------------------
>> >
>> >
>> > --
>> > You receive this message as a subscriber of the 
>> [email protected] list.
>> > To unsubscribe: mailto:[email protected]
>> > For general help: mailto:[email protected]?subject=help
>> > ObjectWeb mailing lists service home page: 
>> http://www.objectweb.org/wws
>> >
>>
>>
>>
>>
>>
>> -- 
>> You receive this message as a subscriber of the 
>> [email protected] list.
>> To unsubscribe: mailto:[email protected]
>> For general help: mailto:[email protected]?subject=help
>> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>>
>>
>>
>
> ------------------------------------------------------------------------
>
>
> --
> You receive this message as a subscriber of the [email protected] mailing list.
> To unsubscribe: mailto:[email protected]
> For general help: mailto:[email protected]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>   



------------=_1166614282-5041-95
Content-Type: text/plain; name="message-footer.txt"
Content-Disposition: inline; filename="message-footer.txt"
Content-Transfer-Encoding: 8bit


--
You receive this message as a subscriber of the [email protected] mailing list.
To unsubscribe: mailto:[email protected]
For general help: mailto:[email protected]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws

------------=_1166614282-5041-95--