<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Jobexecutor tuning in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104458#M72955</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can certainly optimize it by adding indexes. Oracle has tools to give you advise on that, right?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you know for sure that the issue lies with the job executor?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you starting synchronous or asynchronous processes? Does the job wait before the process is completed or do you have an async task in between?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 29 Aug 2012 15:12:30 GMT</pubDate>
    <dc:creator>trademak</dc:creator>
    <dc:date>2012-08-29T15:12:30Z</dc:date>
    <item>
      <title>Jobexecutor tuning</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104457#M72954</link>
      <description>Hi,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; We are currently running activiti(version 5.10) in production with 3 instances of jobexecutor and with following configuration, database is oracle but the jobexecutor is not scaling upto our needs.We have to create thousands of process instancess per hour. &amp;lt;bean id="myJobExecutor" class="</description>
      <pubDate>Wed, 29 Aug 2012 13:13:51 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104457#M72954</guid>
      <dc:creator>sazzadul</dc:creator>
      <dc:date>2012-08-29T13:13:51Z</dc:date>
    </item>
    <item>
      <title>Re: Jobexecutor tuning</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104458#M72955</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can certainly optimize it by adding indexes. Oracle has tools to give you advise on that, right?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you know for sure that the issue lies with the job executor?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you starting synchronous or asynchronous processes? Does the job wait before the process is completed or do you have an async task in between?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Aug 2012 15:12:30 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104458#M72955</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2012-08-29T15:12:30Z</dc:date>
    </item>
    <item>
      <title>Re: Jobexecutor tuning</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104459#M72956</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you for your reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;All our processes consist of many subtasks and each subtask is asynchronous process(javadelegate) which simply call webservice function(the webservice call is very fast so the problem doesn't lie here). Other than subtasks we havn't anything else.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am not sure if its database related, I should perhaps ask our dba to do an analyse.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It seems like the jobexecutor is very slow to move steps in a process. Is there any waiting in between the steps ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Hi,&lt;BR /&gt;&lt;BR /&gt;You can certainly optimize it by adding indexes. Oracle has tools to give you advise on that, right?&lt;BR /&gt;Do you know for sure that the issue lies with the job executor?&lt;BR /&gt;Are you starting synchronous or asynchronous processes? Does the job wait before the process is completed or do you have an async task in between?&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Aug 2012 21:11:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104459#M72956</guid>
      <dc:creator>sazzadul</dc:creator>
      <dc:date>2012-08-29T21:11:27Z</dc:date>
    </item>
    <item>
      <title>Re: Jobexecutor tuning</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104460#M72957</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You have set the max acquisition to 30. This means that if there are 30 jobs in the database it will retrieve all these 30 jobs, and the other job executors do the same.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What's causing the issue is that the jobs are running in exclusive mode by default. This means that the jobs are executed in sequence rather than in parallel.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So even if the web services are really fast, it piles up. What you can do to solve this is to add an attribute of exclusive="false" to the async task.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;For more details, see here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://activiti.org/userguide/index.html#exclusiveJobs" rel="nofollow noopener noreferrer"&gt;http://activiti.org/userguide/index.html#exclusiveJobs&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Aug 2012 07:23:22 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104460#M72957</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2012-08-30T07:23:22Z</dc:date>
    </item>
    <item>
      <title>Re: Jobexecutor tuning</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104461#M72958</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks for your sugggestion but&amp;nbsp; I wonder if it really would help me. All the steps in our process is dependent on each other which means stepA must finish before stepB can start. So do you think using exclusive=false on stepA and stepB will solve my problem ?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 31 Aug 2012 06:07:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104461#M72958</guid>
      <dc:creator>sazzadul</dc:creator>
      <dc:date>2012-08-31T06:07:10Z</dc:date>
    </item>
    <item>
      <title>Re: Jobexecutor tuning</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104462#M72959</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't know how you implemented your process definition of course.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But if step A is an async service task and you have defined step B sequentially as another async service task with a sequence flow between step A and B it's just fine to set exclusive to false.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But after rethinking this a bit more, this will not solve a lot. Non-exclusive jobs are only more performant when you have multiple jobs running for the same process instance.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It would do however no harm to set it to exclusive false anyway.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Let's go back to your configuration again. You have a core pool size of 30 and max pool size of 100, which means that 30 simultaneous threads are always kept and a maximum of 100 threads are executed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is your environment able to execute 100 thread simultaneously in a performant way. Do you see CPU pile up to 100% for example?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In addition you have defined the acquisition size of 30. This means that every time 30 jobs are executed by the same thread. Since you have defined a lot of simultaneous threads, I would say it would be better to decrease this size to for example the default size of 3. Then you would make a lot more use of the thread pool.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 31 Aug 2012 08:11:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104462#M72959</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2012-08-31T08:11:52Z</dc:date>
    </item>
    <item>
      <title>Re: Jobexecutor tuning</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104463#M72960</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have now adjusted the parameter values for jobexecutor after suggestion from you which looks like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&amp;lt;bean id="myJobExecutor" class="org.activiti.engine.impl.jobexecutor.DefaultJobExecutor"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="queueSize" value="30" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="corePoolSize" value="30" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="maxPoolSize" value="50" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="maxJobsPerAcquisition" value="3" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="waitTimeInMillis" value="1000" /&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="lockTimeInMillis" value="60000"/&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/bean&amp;gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;and only running one instance of jobexecutor since I found out that running several instances didn't have any improvements.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am still facing with performance issues, whenever the load increaces(say 400 process instances per hour) the jobexecutor becomes slower and slower.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Under minor load(say 50 prosess instances per hour) its working as expected.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I haven't tried with the exclusive flagg. I have a lot of subprocesses and each process calls atleast 15-20 subprocess and wonder if this might causing the problem ??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What is a little strange that under minor load everthing works perfectly. Under load the process takes upto several minutes(5-10 minutes) to complete whereas it only taks 10 seconds under minor load.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Sep 2012 13:34:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104463#M72960</guid>
      <dc:creator>sazzadul</dc:creator>
      <dc:date>2012-09-04T13:34:54Z</dc:date>
    </item>
    <item>
      <title>Re: Jobexecutor tuning</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104464#M72961</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I really need more information from you to be able to analyze this further.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you see that the job table is exploding with jobs? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How do you know that the job executor is the bottleneck?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you see CPU go to 100%?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Are all these sub process calls done in sequence with an async attribute? Can you attach your process definition?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Sep 2012 14:24:17 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/jobexecutor-tuning/m-p/104464#M72961</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2012-09-05T14:24:17Z</dc:date>
    </item>
  </channel>
</rss>

