When a SAS system (in your case compute, metadata and midtier) starts, the web application server initiates all configured webapps. This will create heavy load and, depending on the power of the midtier server, take considerable time. Half an hour startup time for the tomcat(s) (or jboss) is not out of the norm.
I'd consider a startup sequence to make sure that unnecessary waits for not-yet-ready services are avoided:
- metadata server
- compute sever
Wait for the start of the metadata server process to finish before starting the compute server. Wait for the compute services (Spawner, OLAP) to finish startup before starting the Midtier.
Since I have it all on one machine, I have ordered it that way in /etc/inittab and inserted wait stages to allow time-consuming processes to finish their startup in the background before the next component starts.