首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么古尼科恩不使用所有的资源,而是缓慢地提供页面

为什么古尼科恩不使用所有的资源,而是缓慢地提供页面
EN

Stack Overflow用户
提问于 2018-01-15 21:18:01
回答 1查看 1.3K关注 0票数 0

我有个安排:

  • 具有自动垂直缩放的弹性弹性(PaaS)
  • Nginx作为SSL/TLS端点+反向代理(在坞内)
  • Gunicorn为Django应用程序服务(在码头内)
  • Postgres (内码头)

当流量“很大”(100 r/s)时,页面的传递非常慢,即使所有的容器都没有被很好地使用(应用程序容器上的CPU占40%,只使用所使用的8 RAM中的2gb --其他容器占CPU使用量的0%)。

我已经将Gunicorn工人设置为16,我检查了linux限制(fd,socket),一切看起来都还好,那么为什么不扩展呢?

nginx.conf (键值)

代码语言:javascript
复制
worker_processes  auto;

events {
    use epoll;
    worker_connections  4096;
}
http {
    sendfile        on;
    keepalive_timeout  10;
}

Gunicorn start :

代码语言:javascript
复制
gunicorn --bind 0.0.0.0:80 --workers 16 --max-requests 1000 ****.wsgi:application
EN

回答 1

Stack Overflow用户

发布于 2018-01-16 22:29:16

那为什么不扩大规模呢?

如果worker_processes设置为auto,那就更好了。这意味着,Nginx分叉工人本身取决于可用于该过程的物理核的数量。在这种情况下,当核心数目可以改变时,J弹性会在垂直资源缩放期间自动控制工作人员。例如,如果您有4个内核(核心的数量取决于最新J弹性版本中的cloudlets的数量),那么设置大量的工作人员是没有意义的,因为他们将处于空闲状态,无法获得利用率控制。实际上,CPU在这里可能不是一个问题。即使有了这些工作人员,CPU也可能被卸载,瓶颈可能出现在网络/RAM/磁盘中等等。因此,CPU可能没有足够的负载来触发扩展进程。

我已经把Gunicorn工人设为16人了

通常,工人的数量等于核心的数量。设置这么高值的唯一原因可能是相同数量的内核,但不太可能在容器中有16个核心。

简而言之,如果您能为我们提供一个托管提供商和环境名称,我们将能够仔细看一看。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48270782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档