Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 播放框架-AWS的生产配置线程/db连接_Amazon Web Services_Playframework - Fatal编程技术网

Amazon web services 播放框架-AWS的生产配置线程/db连接

Amazon web services 播放框架-AWS的生产配置线程/db连接,amazon-web-services,playframework,Amazon Web Services,Playframework,我们有一个Play框架应用程序,我们遇到了生产问题。我很好奇人们在production.conf上使用了哪些设置来确保web服务器不会减慢速度。我们有一个基本的web应用程序,它可以与Mysql通信,发送电子邮件、文本消息,并有一个登录门户 如果您使用的是AWS EC2实例(比如t2.large),那么您在线程池上设置了多少个线程,在数据库连接池上设置了多少个连接,以及内存的Xms和Xmx设置在什么位置 多谢各位 如果您使用的是AWSEC2实例(比如t2.large),那么要在线程池中设置多少线

我们有一个Play框架应用程序,我们遇到了生产问题。我很好奇人们在production.conf上使用了哪些设置来确保web服务器不会减慢速度。我们有一个基本的web应用程序,它可以与Mysql通信,发送电子邮件、文本消息,并有一个登录门户

如果您使用的是AWS EC2实例(比如t2.large),那么您在线程池上设置了多少个线程,在数据库连接池上设置了多少个连接,以及内存的Xms和Xmx设置在什么位置

多谢各位

如果您使用的是AWSEC2实例(比如t2.large),那么要在线程池中设置多少线程

我认为这可能是你面临的问题的根本原因之一。使用单个
线程池
,或者更准确地说是
ExecutionContext
,其中封装了一些
ExecutorService
(例如
FixedThreadPoolExecutorService
)被认为是不好的做法,因为它可以使用应用程序内部相同的
EC
实例来阻止操作,比如数据库访问,比如MySql,最终会导致整个线程阻塞,以及其他应用程序部分的性能问题,比如新的连接处理或响应呈现

您需要做的是使用不同的
EC
实例来执行阻塞和非阻塞操作-让我们将它们称为
前端EC
(用于非阻塞)和
后端EC
(用于阻塞)

  • 前端EC
    您需要在视图和服务级别(API控制器、业务逻辑等)中使用
  • 后端EC
    您需要在DAO应用程序级别或任何可能的阻塞PAR中使用
如何在这两个
EC
之间分配资源实际上取决于上下文。例如,您可以从80%的前端EC线程和其他20%的后端EC线程开始,然后继续调整,直到收到所需的性能结果

但总的来说,你们所问的问题取决于很多背景——并没有像工程部那个样的灵丹妙药


希望这有帮助

谢谢!与您的答案相关——我们注意到,当我们每秒收到80次点击时,Play会很快收到GET呼叫,但POST呼叫会延迟5-10秒。也就是说,在大量使用情况下,直到10-20秒后,POST http调用才会从路由发送到控制器。你知道原因吗?发生这种情况时,机器上有足够的CPU和内存。@somid3这个问题需要大量的上下文和细节,因此我恐怕无法提供一个好的答案。相反,我建议使用VisualVM或Jprofile等工具执行一些性能评测,以找到可能出现问题的地方。根据您描述的内容,您还可以检查
BodyParser
性能或与处理请求正文相关的任何逻辑-这是我注意到的GET和POST请求处理之间的第一个区别,这可能导致此类问题。对不起,如果你不满意我的评论。