Re: performance issues

"Ramy Khalil" <[email protected]> Wed, 20 Dec 2006 12:32:29 +0200
Newsgroups gmane.comp.java.enhydra.shark
Message-ID <[email protected]>
This is a multi-part message in MIME format...

------------=_1166610789-5041-79
Content-Type: multipart/alternative; 
	boundary="----=_Part_15391_19412143.1166610749160"

------=_Part_15391_19412143.1166610749160
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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
>
>
>

------=_Part_15391_19412143.1166610749160
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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

------=_Part_15391_19412143.1166610749160--


------------=_1166610789-5041-79
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

------------=_1166610789-5041-79--