I am salesforce admin currently facing performance issue with one of the 3rd party(classy-SF) Integration. Batch job installed from classy are running 300+ times in 24 hours( batch size 1).Each batch job taking 3-5secs. There are 4-5mins queuing/holding between 2 run as there are other batch job running at that time. This batch job is processing 500-600 Inbound API request . There are approximately 8k API request waiting in queue + 1k new incoming API request everyday . At this rate, the API request to be processed growing every day, batch job is processing at one month lag . All batch job are from managed package from provider. What best I can do to solve this issue? Any suggestion plz.
You might not be able to do anything, at least not without help from the vendor. It should easily be possible to run 15,000 batch executions a day at 5 seconds each. The ideal solution would be to reset the batch to a higher scope size.
You should be able to set it to 20 or so, assuming the code supports it.Even with the 4-5 minute wait between each execution, you're looking at being able to support 6000 records a day instead of just 300.
If you can't modify the scope size, and you need all your batches, then something has to give; one of the vendors will need to fix their code so they can happily co-exist. The resource limits in place are there for a reason (so everyone has a snappy Salesforce experience), so the code has to run within those limitations.
There was an "ApexToken" stuck in "Queue" for long time. After deleting, the batch job processed increase dramatically.