基于Kotlin的Micronaut应用启动后首次请求响应缓慢问题咨询
问题:Micronaut应用首次请求响应延迟过高
- 基于Kotlin开发的Micronaut简单API,包含两个路由:
/api:返回纯文本"Hello world"/api/params:返回请求中的查询参数
- 服务启动后首次发起的任何请求(包括无效端点)响应耗时100-200ms,后续所有请求响应时间仅约10ms
- 已确认未启用任何缓存机制,通过浏览器开发者工具、第三方API客户端测试结果一致
- 构建与运行方式:
- 执行Gradle任务:
./gradlew optimizedJitJarAll - 运行构建后的Jar包:
java -jar myapp-0.1-all-optimized.jar
- 执行Gradle任务:
控制器代码
// micronaut controller package com.example.controller import io.micronaut.http.HttpRequest import io.micronaut.http.HttpResponse import io.micronaut.http.MediaType import io.micronaut.http.annotation.Controller import io.micronaut.http.annotation.Get import io.micronaut.http.annotation.Produces @Controller("/api") class HelloController { @Get @Produces(MediaType.TEXT_PLAIN) fun hello() = "Hello world" @Get("/params") fun getHttpParams(request: HttpRequest<*>): HttpResponse<*> { val params = request.parameters.asMap() return HttpResponse.ok(params) } }
补充说明
- 首次请求无论访问有效路由还是无效端点,延迟情况一致
- 多工具测试均验证了相同的延迟现象,排除工具误差
内容的提问来源于stack exchange,提问作者Ragul Shanmugarajan
相关产品推荐
相关产品推荐

