SDL Tridion: Tips to troubleshoot and resolve the 'Throttling' status
The throttling status should be a temporary state, so although you might see some items in the Publishing Queue with that state, it should resolve itself once the deployer has available threads to pick up more packages. In case the items stay 'stuck' in this status, there are a few things you can check that I enumerate below:
· As mentioned in the documentation, ensure that the window size is equal to or larger than the total number of Transport Service threads configured on the Content Manager side. This settings can be found in the cd_transport_conf.xml, as follows:
<Workers NormalPriorityPoolSize="5" HighPriorityPoolSize="5" TransportPriorityPoolSize="5"/>
By default, this section is commented out and these are the default values. If the deployer’s window size is lower than 5 then you need to change it to ensure that it is set to 5 or higher.
· Check if the database maintenance tasks for the broker database are in place and the frequency that these tasks are being executed; To rule out that it is database related, re-run the maintenance tasks and verify if that helps.
· The throttling might be related to large items being deployed and therefore requiring a longer database connection. You can increase the transaction timeout present in the cd_storage_conf.xml. By default, this timeout is set to 2 minutes (120000 milliseconds):
<Transaction Timeout="120000" MonitorInterval="5000"/> -->
Start with increasing this timeout to 5 minutes and verify if that helps.
· Check the transport timeout setting and verify if the transport is polling for a status for long enough:
o By default, the transport polls for 30 minutes or 900 times, as set in the cd_transport_conf.xml:
<Polling MaxAttempts="900" Timeout="15" Interval="5000"/>
o If the deployer has a high load of packages to handle, the timeout setting or maxAttempts might not be sufficient. If you see that, despite the throttling status displayed in the publishing queue, that the items are successfully deployed, then increase the timeout setting so that the transport can poll the status for a longer period of time. I usually start by setting the timeout to 30 minutes, as follows:
<Polling MaxAttempts="900" Timeout="30" Interval="5000"/>