- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每当我有代码更新时重新启动服务器时,我都会遇到 uwsgi 问题。
当我使用“sudo restart accounting”重新启动 uwsgi 时,停止和启动实例之间存在一个小间隙,这会导致停机并停止所有当前请求。
当我尝试“sudo reload accounting”时,它起作用了,但我的内存增加了(双倍)。当我运行命令“ps aux | grep accounting”时,它显示我有 10 个正在运行的进程 (accounting.ini) 而不是 5 个,当内存达到极限时它会卡住我的服务器。
accounting.ini
我在运行
最佳答案
这就是 uwsgi 进行优雅重新加载的方式。在处理请求之前保留旧流程,并创建新流程来接管传入请求。
Do not forget, your workers/threads that are still running requests could block the reload (for various reasons) for more seconds than your proxy server could tolerate.
还有这个
Another important step of graceful reload is to avoid destroying workers/threads that are still managing requests. Obviously requests could be stuck, so you should have a timeout for running workers (in uWSGI it is called the “worker’s mercy” and it has a default value of 60 seconds).
所以我建议尝试 worker-reload-mercy
默认值是等待 60 秒,只需将其降低到您的服务器可以处理的时间即可。
告诉我它是否有效。
这是解决您的问题的另一种尝试。正如您提到的,您的 uwsgi worker 正在以下述方式重新启动:
SIGHUP
信号给master这种重新加载的缺点之一可能是 workers 卡住。此外,您报告当 uwsgi 维护 10 个进程(5 个旧进程和 5 个新进程)时您的服务器崩溃。
我建议尝试链重新加载。文档中的直接引用解释了这种重新加载:
When triggered, it will restart one worker at time, and the following worker is not reloaded until the previous one is ready to accept new requests.
这意味着您的服务器上不会有 10 个进程,而只有 5 个。
应该工作的配置:
# your .ini file
lazy-apps = true
touch-chain-reload = /path/to/reloadFile
部分链上reload等资源链接如下:
关于django - 重启时 uWSGI 停机时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46147864/
kubectl drain首先是否确保带有replicas=1的Pod在其他某个节点上是健康的? 假设Pod由部署控制,并且Pod确实可以移动到其他节点。 目前,如我所见,它仅从节点逐出(删除Pod)
在上一篇文章 STM8单片机低功耗—等待(Wait)模式实现 中介绍了低功耗模式中的等待(Wait)模式代码实现方法,这篇文章就来演示一下 停机(Halt)模式的代码实现。 停机(Halt)模式的进入
默认情况下,AWS 使用 LATEST更新了最新 lambda 版本的别名,我假设执行以下步骤。 现在,LATEST别名点版本 5。 用户部署新版本的 lambda。 部署新版本时,LATEST别名仍
情况 App Engine Flex 上的自定义运行时(Docker/Node) 当我们自己管理资源时手动扩展到 1 个单个实例(2 cpu/6 gb ram) 配置了活性和就绪检查 正如预期的那样,
我是一名优秀的程序员,十分优秀!