繁体   English   中英

在Play框架中配置最大线程的准则

[英]Guideline to Configure max threads in Play framework

我们使用Playframework1.x。

我们没有涉及线程池大小,而是使用默认值(nb处理器+ 1)。 我们的生产服务器具有4个核心处理器,我一次假设有5个线程。

为了使用,我们需要一次至少提供100个线程。 我们可以将线程池​​大小增加到100吗,这会引起任何问题吗?

在我的项目中,我们使用大约30个线程池来服务大约100个并发。 Play 1.x的运行速度非常快,因此可以在下一个处理请求之前释放线程。

但是您应该对代码进行负载测试...如果将线程池增加到100,我认为这不好。

顺便说一句,您应该按照Play建议使用异步作业来实现您的应用程序: http : //www.playframework.com/documentation/1.2.7/asynchronous

游戏是基于尽可能快地处理短请求并因此能够使线程池保持尽可能小的想法。 想要一个小池的主要原因是保持较低的资源消耗而不是浪费。

Play和Java 可以愉快地使用更高的线程池 (例如100或1000)运行(尽管您的服务器可能并不总是支持它, 例如某些Linux发行版对每个用户的每个应用程序具有固定的线程限制), 但是建议您分析一下问题,看看您是否真的需要那么大的池子。

在大多数情况下,需要一个大池意味着您必须拥有许多阻塞线程,并应该研究Play的异步功能,或者您有一个尝试同时执行许多操作的动作,将其切成小块后会更好。 如果请求导致服务器上的阻塞线程很长,这通常意味着它还会导致用户端的阻塞接口很长。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM