I am also seeing that every request hits "Initializing Spring FrameworkServlet", which takes good chunk of CPU and significantly slows down the response, ut to a level when web application in not useable.
It been mentioned before that there is some ongoing work to reduce the startup time and I wonder if there is any opdate on that yet? Thanks Eugene On Jan 8, 10:34 am, Wong <[email protected]> wrote: > I suspect the cause of the problem is the ping cron every 3 minutes. I > also get the following warning: > > "This request used a high amount of CPU, and was roughly 1.2 times > over the average request CPU limit. High CPU requests have a small > quota, and if you exceed this quota, your app will be temporarily > disabled." > > The ping cron is very simple task. It accesses an URL which output a > short text > > Full stack trace: > # > > 0.1.0.1 - - [08/Jan/2010:07:22:05 -0800] "GET /ping HTTP/1.1" 200 45 - > - "mobisociety.appspot.com" > > # > I 01-08 07:21AM 43.585 > > javax.servlet.ServletContext log:InitializingSpringroot > WebApplicationContext > > # > W 01-08 07:21AM 47.796 > > org.springframework.security.config.method.GlobalMethodSecurityBeanDefinitionParser > parse: Expressions were enabled for method security but no > SecurityExpressionHandler was configured. All hasPermision() > expressions will evaluate to false. > > # > I 01-08 07:22AM 03.596 > > javax.servlet.ServletContext log: > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: loaded (conf > ok) > > # > I 01-08 07:22AM 03.689 > > javax.servlet.ServletContext log:InitializingSpringFrameworkServlet > 'dispatcher' > > # > E 01-08 07:22AM 05.397 > > org.apache.jasper.runtime.JspFactoryImpl internalGetPageContext: > Exceptioninitializingpage context > java.lang.ExceptionInInitializerError > at com.google.appengine.api.memcache.MemcacheServicePb > $MemcacheSetResponse.<clinit>(MemcacheServicePb.java:2649) > at com.google.appengine.api.memcache.MemcacheServiceImpl.put > (MemcacheServiceImpl.java:315) > at com.google.appengine.api.memcache.MemcacheServiceImpl.put > (MemcacheServiceImpl.java:376) > at com.google.apphosting.runtime.jetty.SessionManager.createSession > (SessionManager.java:334) > at com.google.apphosting.runtime.jetty.SessionManager > $AppEngineSession.<init>(SessionManager.java:135) > at com.google.apphosting.runtime.jetty.SessionManager.newSession > (SessionManager.java:265) > at com.google.apphosting.runtime.jetty.SessionManager.newSession > (SessionManager.java:50) > at org.mortbay.jetty.servlet.AbstractSessionManager.newHttpSession > (AbstractSessionManager.java:413) > at org.mortbay.jetty.Request.getSession(Request.java:1005) > at org.mortbay.jetty.Request.getSession(Request.java:977) > at org.apache.jasper.runtime.PageContextImpl._initialize > (PageContextImpl.java:147) > at org.apache.jasper.runtime.PageContextImpl.initialize > (PageContextImpl.java:122) > at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext > (JspFactoryImpl.java:104) > at org.apache.jasper.runtime.JspFactoryImpl.access$000 > (JspFactoryImpl.java:37) > at org.apache.jasper.runtime.JspFactoryImpl > $PrivilegedGetPageContext.run(JspFactoryImpl.java:151) > at > com.google.apphosting.runtime.security.shared.intercept.java.security.AccessController_.doPrivileged > (AccessController_.java:34) > at org.apache.jasper.runtime.JspFactoryImpl.getPageContext > (JspFactoryImpl.java:59) > at org.apache.jsp.ping_jsp._jspService(ping_jsp.java:33) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) > at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: > 487) > at org.mortbay.jetty.servlet.ServletHandler.handle > (ServletHandler.java:362) > at org.mortbay.jetty.security.SecurityHandler.handle > (SecurityHandler.java:216) > at org.mortbay.jetty.servlet.SessionHandler.handle > (SessionHandler.java:181) > at org.mortbay.jetty.handler.ContextHandler.handle > (ContextHandler.java:712) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > 405) > at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268) > at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) > at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite > (NormalRewrittenUrl.java:195) > at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite > (RuleChain.java:159) > at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java: > 141) > at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest > (UrlRewriter.java:90) > at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter > (UrlRewriteFilter.java:417) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) > at > org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal > (OpenEntityManagerInViewFilter.java:113) > at org.springframework.web.filter.OncePerRequestFilter.doFilter > (OncePerRequestFilter.java:76) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) > at org.springframework.security.web.FilterChainProxy.doFilter > (FilterChainProxy.java:144) > at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate > (DelegatingFilterProxy.java:237) > at org.springframework.web.filter.DelegatingFilterProxy.doFilter > (DelegatingFilterProxy.java:167) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) > at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter > (ParseBlobUploadFilter.java:97) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) > at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter > (SaveSessionFilter.java:35) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) > at > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter > (TransactionCleanupFilter.java:43) > at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1084) > at org.mortbay.jetty.servlet.ServletHandler.handle > (ServletHandler.java:360) > at org.mortbay.jetty.security.SecurityHandler.handle > (SecurityHandler.java:216) > at org.mortbay.jetty.servlet.SessionHandler.handle > (SessionHandler.java:181) > at org.mortbay.jetty.handler.ContextHandler.handle > (ContextHandler.java:712) > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > 405) > at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle > (AppVersionHandlerMap.java:238) > at org.mortbay.jetty.handler.HandlerWrapper.handle > (HandlerWrapper.java:139) > at org.mortbay.jetty.Server.handle(Server.java:313) > at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: > 506) > at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete > (HttpConnection.java:830) > at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable > (RpcRequestParser.java:76) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) > at > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest > (JettyServletEngineAdapter.java:135) > at com.google.apphosting.runtime.JavaRuntime.handleRequest > (JavaRuntime.java:235) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5235) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5233) > at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest > (BlockingApplicationHandler.java:24) > at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: > 363) > at com.google.net.rpc.impl.Server$2.run(Server.java:838) > at com.google.tracing.LocalTraceSpanRunnable.run > (LocalTraceSpanRunnable.java:56) > at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan > (LocalTraceSpanBuilder.java:536) > at com.google.net.rpc.impl.Server.startRpc(Server.java:793) > at com.google.net.rpc.impl.Server.processRequest(Server.java:368) > at com.google.net.rpc.impl.ServerConnection.messageReceived > (ServerConnection.java:448) > at com.google.net.rpc.impl.RpcConnection.parseMessages > (RpcConnection.java:319) > at com.google.net.rpc.impl.RpcConnection.dataReceived > (RpcConnection.java:290) > at com.google.net.async.Connection.handleReadEvent(Connection.java: > 466) > at com.google.net.async.EventDispatcher.processNetworkEvents > (EventDispatcher.java:759) > at com.google.net.async.EventDispatcher.internalLoop > (EventDispatcher.java:205) > at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: > 101) > at com.google.net.rpc.RpcService.runUntilServerShutdown > (RpcService.java:251) > at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run > (JavaRuntime.java:394) > at java.lang.Thread.run(Unknown Source) > Caused by: com.google.apphosting.api.DeadlineExceededException: This > request (aa99528a97529b43) started at 2010/01/08 15:21:36.785 UTC and > was still executing at 2010/01/08 15:22:05.335 UTC. > at com.google.protobuf.CodedInputStream.readRawByte > (CodedInputStream.java:665) > at com.google.protobuf.CodedInputStream.readRawVarint32 > (CodedInputStream.java:290) > at com.google.protobuf.CodedInputStream.readTag(CodedInputStream.java: > 58) > at com.google.protobuf.DescriptorProtos$FieldDescriptorProto > $Builder.mergeFrom(DescriptorProtos.java:2794) > at com.google.protobuf.DescriptorProtos$FieldDescriptorProto > $Builder.mergeFrom(DescriptorProtos.java:2679) > at com.google.protobuf.CodedInputStream.readMessage > (CodedInputStream.java:229) > at com.google.protobuf.DescriptorProtos$DescriptorProto > $Builder.mergeFrom(DescriptorProtos.java:1911) > at com.google.protobuf.DescriptorProtos$DescriptorProto > $Builder.mergeFrom(DescriptorProtos.java:1745) > at com.google.protobuf.CodedInputStream.readMessage > (CodedInputStream.java:229) > at com.google.protobuf.DescriptorProtos$DescriptorProto > $Builder.mergeFrom(DescriptorProtos.java:1917) > at com.google.protobuf.DescriptorProtos$DescriptorProto > $Builder.mergeFrom(DescriptorProtos.java:1745) > at com.google.protobuf. > > # > W 01-08 07:22AM 05.521 > > This request used a high amount of CPU, and was roughly 1.2 times over > the average request CPU limit. High CPU requests have a small quota, > and if you exceed this quota, your app will be temporarily disabled.
-- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
