Re: performance issues
Sasa Bojanic <[email protected]> Wed, 20 Dec 2006 09:43:37 +0100
| Newsgroups | gmane.comp.java.enhydra.shark |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format...
------------=_1166604058-5041-29
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
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] 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
> >>
> >
> >
> > --------------------------------------------------------------------------------
> >
> >
> > --
> > 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
> >
>
>
> ------------------------------------------------------------------------
>
>
> --
> 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
>
------------=_1166604058-5041-29
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
------------=_1166604058-5041-29--