gpt4 book ai didi

multithreading - Ktor、Netty 和增加每个端点的线程数

转载 作者:行者123 更新时间:2023-12-05 04:34:58 27 4
gpt4 key购买 nike

使用 Ktor 和 Kotlin 1.5 实现由 Netty 支持的 REST 服务。关于这项服务的几件事:

  1. “工作”需要大量时间才能完成。
  2. 唯一的客户端端点向该服务并行发送多个请求。
  3. 只有少数独特的客户端端点。

服务未按预期扩展。我们对来自单个客户端的并行请求进行了负载测试,我们注意到服务器上只有两个线程实际处理请求。这不是资源匮乏问题 - 有充足的网络、内存、CPU 等,无论我们并行启动多少请求都无关紧要 - 始终是两个线程保持忙碌,而其他线程闲置。

我们是否可以配置一个参数来增加可用于处理特定端点请求的线程数?

最佳答案

Netty 使用所谓的非阻塞 IO 模型(http://tutorials.jenkov.com/java-concurrency/single-threaded-concurrency.html)。

在这种情况下,您只有一个线程,它可以并行处理许多子进程,只要您遵循最佳实践(不阻塞主线程事件循环)即可。

关于multithreading - Ktor、Netty 和增加每个端点的线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71135030/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com