我有一个 finch 端点,在进行顺序调用时可以正常工作。在并发请求的情况下,服务延迟在并发请求数中的比例正在增加。我对此有两个问题。
- 线程阻塞是否会导致延迟问题?
- finch 中有多少个工作线程?
- 如何增加工作线程的数量?
- 更改默认工作线程数后系统将如何影响?
我有一个 finch 端点,在进行顺序调用时可以正常工作。在并发请求的情况下,服务延迟在并发请求数中的比例正在增加。我对此有两个问题。
阻塞 Finagle 线程从来都不是一个好主意。通常你会2 * CPU cores
在你的线程池中获得线程。您可以尝试用-Dcom.twitter.finagle.netty4.numWorkers=48
标志覆盖它。
在调整线程池之前,我建议查看FuturePool
s以获取从 Finagle 线程中卸载阻塞代码的方法。