【发布时间】:2022-02-17 04:57:01
【问题描述】:
使用 Ktor 和 Kotlin 1.5 实现由 Netty 支持的 REST 服务。关于这项服务的几点说明:
- “工作”需要很长时间才能完成。
- 一个唯一的客户端端点并行向该服务发送多个请求。
- 只有少数几个独特的客户端端点。
服务未按预期扩展。我们对来自单个客户端的并行请求进行了负载测试,我们注意到服务器上只有两个线程实际处理请求。这不是资源匮乏的问题 - 有大量的网络、内存、CPU 等,我们并行启动多少请求并不重要 - 总是有两个线程保持忙碌,而其他线程则处于空闲状态。
我们是否可以配置一个参数来增加可用于处理特定端点请求的线程数?
【问题讨论】:
-
您正在连接到数据库吗?如果是这样的话,也许你应该创建一个连接池。
-
不,这是 CPU 工作。
标签: multithreading kotlin netty ktor