Starting MSMQ painfully slow at reboot

msmqwindows-server-2008-r2

At the new company where I've been stationed, I've noticed that when we reboot our server, it takes a slight forever to get the MSMQ service started. It's started automatically and in Starting state for a veeery extensive period – we're touching hours, not minutes (at this moment I've elapsed 67 minutes and it's not done yet)!

My experience with with MSMQ is like penguins' with flight – seen it, never done it myself, so I can't really judge the reasonability of such huge time consumption. However, it doesn't feel right and I sense that there's something fishy behind this.

The explanation I've got is that "it's always been like that". By that reason, we still should be using fire and not electricity to get light… I'm not saying the guys here are wrong. I just wish to investigate it further being "fresh blood". A very impatient blood, I may add.

My google-fu produced not much that I got any wiser from (mostly what to do if it doesn't work at all or works unsatisfactory during the operative stage). The event log says nothing, the other services are started manually afterwards (except the default ones). The slowness seems to be consistent at start up but not otherwise. The queues are emptied and the server behaves more or less like a normal person otherwise. We've got HDD space in abundance.

So, the question is twofold.

  1. Is such a long staring period for MSMQ acceptable and expected?
  2. What should I investigate closer if I'm unsettled by the behavior?

The system is as follows.

  • Windows Server 2008 R2 Standard SP1
  • 64-bit, 8 GB, Xeon 2.4GHz (2 kernels)

Best Answer

Investigate. 90 minutes for a regular server restart is painfull. If you need high availability this means you are out on one node for 1.5 hours JUST FOR A RESTART (which happen quite regularly during patching). This means you technically need 3-4 nodes to be highly available. Something is VERY odd here. I personally would not accept that.

I could sort of understand that when the server crashes. If a Transaction log must be rolled back that can take AGES. But MSMQ is not handling transactions normally that spawn many gigabytes, AND - a restart should not result in excessive operations here.

Related Topic