Expand my Community achievements bar.

How to increase processing speed for custom channel deliveries

Avatar

Level 1

Hello,

 

We have a custom build inApp channel which is running based on JS connector. The deliveries are running fine for small volume but when we have to process like 100,000+ records, the processing speed goes really slow and it has hours and hours to finish running.

 

Any idea on the ways to improve the processing speed of custom channel deliveries running on MTA?

 

 

BR,

Annie.

4 Replies

Avatar

Community Advisor

Hi @Annie19 

We had this issue last week, so the answer is very easy :

By default, processDeliveryPart gets 8 messages each call. This can be configured, but it is not a server paramareter. It's a delivery parameter : Delivery additional parameters, then Delivery tab, and Message batch quantity. This value is 0 to default, meaning 8 minimum. You can change this (and it can be over 256, we put 1000) if you need to process much more messages each call.

 

Cedric

Avatar

Level 1

Hi @CedricRey,

 

Thank you for the response. 

 

We had already changed that parameter and processing 256 records at one time. However, even with that number when we execute a huge volume, our deliveries are not getting processed in the server and goes to 'Pending' state abruptly. Then a manual server restart is needed everytime to start processing the deliveries again. 

 

Do you have any idea why this happens?

 

Thanks,

Annie.

Avatar

Level 1

Hi @CedricRey,

 

Also, to understand, when you are executing a batchsize of 1000, have you experienced any slowness in the delivery processing speed? or does it goes out with the same speed as like an email channel?

 

Thanks in advance,

Annie.

Avatar

Community Advisor

Hi @Annie19 

We used custom connector for special channel, it use external API, requesting HTTP endpoint. So for us, processing 1000 messages at a time instead of 8 increased the speed considerably.

 

It depends of what you are doing in your connector, but you can see if anything is wrong with the logs : in the {install_dir}/nl6/var/{yourInstanceName}/logs/mtachilds.log, you should detect something thaht goes wrong during the process. You should take a look at this file.

 

Cedric