在k8s中使用spring时初始http请求缓慢

toe95027  于 2022-11-21  发布在  Spring
关注(0)|答案(1)|浏览(288)

我有一个简单的java应用程序,它的控制器只返回一个hello world jsp。它在非k8s环境中部署时工作正常,但是在k8s上部署时,第一次请求页面时需要大约15秒才能响应。第一次请求后,性能在一瞬间就恢复到正常响应。我启用了spring的调试日志,但没有什么用处。只有15秒没有记录:

2021-08-04 16:38:16,856 DEBUG org.springframework.web.servlet.view.InternalResourceView: Forwarding to [/WEB-INF/jsp/test.jsp]
...
2021-08-04 16:38:31,452 DEBUG org.springframework.security.web.header.writers.HstsHeaderWriter: Not injecting HSTS header since it did not match the requestMatcher org.springframework.security.web.header.writers.HstsHeaderWriter$SecureRequestMatcher@5073a20b
2021-08-04 16:38:31,453 DEBUG org.springframework.security.web.context.HttpSessionSecurityContextRepository$SaveToSessionResponseWrapper: SecurityContext is empty or contents are anonymous - context will not be stored in HttpSession.
2021-08-04 16:38:31,455 DEBUG org.springframework.orm.jpa.support.OpenEntityManagerInViewInterceptor: Closing JPA EntityManager in OpenEntityManagerInViewInterceptor
2021-08-04 16:38:31,459 DEBUG org.springframework.web.servlet.FrameworkServlet: Completed 200 OK
2021-08-04 16:38:31,459 DEBUG org.springframework.security.web.access.ExceptionTranslationFilter: Chain processed normally
2021-08-04 16:38:31,460 DEBUG org.springframework.security.web.context.SecurityContextPersistenceFilter: SecurityContextHolder now cleared, as request processing completed

我想知道是否有人对可能发生的事情有什么建议,或者我如何进一步调查?

os8fio9y

os8fio9y1#

我在使用redhat openshift容器平台helmspring Boot 应用程序时遇到了同样的问题。
在ocp(=openshift container platform)中,我的spring应用程序启动时间长达90秒,而在我的本地机器上,应用程序启动时间为5秒。
当我第一次发出请求时,响应时间在5 - 15秒之间,之后大约是100 - 300毫秒。我不知道为什么第一次请求需要这么长时间。我也在使用keycloak,第一次请求可能需要这么长时间,因为你必须获得keycloak访问令牌,但这不应该花那么长时间,或者应该吗?

相关问题