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