In one of my Tridion implementations, there is an extreme latency when sending a component or page to the publishing queue. Typically an item is published at a master level, and published in 300 or 400 child publications at the same time. While I understand this is a large amount of items to publish, it seems excessive that I should need to wait 20-40 minutes just to add them to the queue. The performance has degraded over time, it appears, as well. What can I do to decrease the amount of time sending large amounts of items to the publishing queue takes?
It might be worth it to have a look at your QUEUE_CONSUMERS table in your Tridion CM database. Some destinations in there might be offline, and Tridion will wait until a timeout occurs every time it needs to send such notifications.
Have a look at a previous TRex question: explanation of QUEUE_CONSUMERS and QUEUE_FILTERS tables
Also, I wrote a blog post about it: http://yatb.mitza.net/2012/10/slow-db-performance-on-content-manager.html
I'm guessing you're using the option in advanced publishing properties to publish in child publications, or some kind of a custom Event System implementation.
In both cases, make sure your database is optimized. Essentially, ensure indexes and stats are up to date. Also look at increasing the swap space/page file size; and ensure the DB server has enough resources to process such a number of requests, e.g. CPU.
The other variables are the horsepower of your CM server (again, CPU and memory), and network traffic between the CM and it's DB.
If you're using custom code to trigger the cascaded publishing, then look at what that logic is doing (perhaps the algorithm isn't very efficiently structured). You can also look at sending items to the queue individually instead of as one giant request.