AnsweredAssumed Answered

Getting more throughput from JobExecutor

Question asked by jorell on Sep 19, 2014
Latest reply on Sep 23, 2014 by jorell
I am currently getting about 2 job completions per second from a clustered environment and multiple job executors running. I am trying to drastically improve this (> 200 jobs per second). From the looks of it it seems I am thread bound. Hardware is not a concern for me and I created my own JobExecutor (basically copied the DefaultJobExecutor), and replaced the default values to this:


  protected int queueSize = 50;
  protected int corePoolSize = 75;
  private int maxPoolSize = 200;

This doesn't seem to be having any effect, I still see only three threads at any given time running jobs. My process engine config code is:


    processEngineConfigurationImpl
        .setDatabaseType(DatabaseConfig.getDatabaseType())
        .setJobExecutor(new CustomJobExecutor())
        .setJobExecutorActivate(true)
        .setDatabaseSchemaUpdate(databaseSchemaUpdate);
ProcessEngine processEngine = processEngineConfigurationImpl.buildProcessEngine();


Is there something I am missing? If anyone else has experience in getting more throughput from the job executor I'd really appreciate it if they could share their experiene and any best practices.
Thanks

Outcomes