https://bz.apache.org/bugzilla/show_bug.cgi?id=65136
Bug ID: 65136 Summary: Parallel deploy speedup with /manager/text servlet not possible because of synchronized method ManagerServlet.deploy() Product: Tomcat 9 Version: 9.0.x Hardware: All OS: All Status: NEW Severity: normal Priority: P2 Component: Manager Assignee: dev@tomcat.apache.org Reporter: m...@renxo.com Target Milestone: ----- Hi, our system consists on about 80+ webapps on different servers. Multiple webapps are deployed per Tomcat server remotely using the manager and host-manager webapps. This has been working fine for years, however some servers now have 5+ webapps and they are taking a long time to start. We invoke the deploy command on the manager webapp in parallel for each webapp, in order to attempt a reduction in total server startup time. However the speedup is very modest. The servers have powerful Xeon multi-core servers so a parallel speedup should be possible. Looking at the source code for org.apache.catalina.manager.ManagerServlet we see that the following method is synchronized which would explain the behaviour we are seeing: protected synchronized void deploy (PrintWriter writer, String config, ContextName cn, String tag, boolean update, HttpServletRequest request, StringManager smClient) { Is there any real reason why this needs to be synchronized? Tomcat can deploy webapps in parallel when backgroundProcessorDelay is set to a positive number, but this is not useful when remotely deploying webapps using the manager webapp. Any ideas? Thanks -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org