V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Kobayashi  ›  全部回复第 10 页 / 共 57 页
回复总数  1122
1 ... 6  7  8  9  10  11  12  13  14  15 ... 57  
2022-06-02 21:36:32 +08:00
回复了 TcDhl 创建的主题 Python 请教一下 Gunicorn 的一些疑惑
Gunicorn 采用 arbiter/manager + worker 管理进程。

arbiter 作为管理者,不断循环,在每轮循环检测 worker 状态,比如杀死超时 worker ,创建新 worker 。
而 worker 负责处理请求,多个 worker 监听在同一个 socket 上接受新请求。worker 模式多样,最简单的就是进程模式和线程模式。

max request 被设计用来限制一个 worker 所能处理的做法请求数量。其初衷是担心代码中内存泄漏,worker 运行一段时间后能被杀死,回收掉内存。

worker 里边也是循环处理新请求。在每次处理请求前,worker touch 一个 WorkerTmp 对象(好像是一个文件来着),更新其时间戳。而 arbiter 每轮循环检测到 worker.tmp ,就明白 worker 空闲有一定时间了,会干掉它。Arbiter.run() 是循环代码,Arbiter.murder_worker() 尝试清理 worker 。

Arbiter 管理 worker 方式基于信号。Arbiter 和 Worker 实例化时都会初始化自己的信号管理函数。总之 arbiter 发送 abrt 或者 kill 信号给 worker ,空转 worker 接受到信号后自杀。( worker 空转是因为其达到最大请求数后不再处理新请求)根据 base worker 中 abrt 信号处理函数,worker 执行了 sys.exit(1) 直接退出。

max requests jitter 是在最大请求数目上加点抖动值,避免所有 worker 同一时间停止接受新请求,服务摊了。不过我觉得请求耗时不大可能完全一样,加不加差不大多。

Gunicorn vs Uvicorn vs Supervisor

Gunicorn 很独特的一点是,它既是一个 wsgi 服务器(对标 Uvicorn ),也是一个进程管理器(对标 supervisor )。所以你看到过 Gunicorn+ Uvicorn 部署 asgi 应用,Uvicorn 作为一个 gunicorn 运行。和 supervisor 相比,Gunicorn 进程管理方式相对较弱,完全基于信号,好像 supervisor 基于 RPC 调用啥的,交互式 shell 管理进程、web page 管理进程一应俱全。

主要相关代码参考 arbiter.py 和 workers/base.py
2022-06-02 21:04:38 +08:00
回复了 gentoals 创建的主题 浏览器 似乎和微软有类似协议的公司不止 duckduckgo 一家?
每天有上亿的数据摆在你眼前,你说你没挖过这个金矿才有鬼吧。
2022-06-02 08:33:14 +08:00
回复了 mm163 创建的主题 宽带症候群 OpenDNS timeout?
@mm163 你们再讨论讨论,我有事先撤了
timemachine
2022-05-31 13:47:52 +08:00
回复了 yuhangch 创建的主题 问与答 各位推荐些播客吧
This American Life, Planet Money, Invisibilia
2022-05-30 13:44:17 +08:00
回复了 lee88688 创建的主题 买买买 618 想买一个 500 以内的矮轴键盘有推荐的吗?
@lee88688 没有,京造、keychron 、贱驴,都是一个。
2022-05-29 20:38:28 +08:00
回复了 Davic1 创建的主题 Apple MX Master 2S 在 macOS 上不如 Windows 上好用
@dcty For Mac 就是智商税。没有任何改进,砍了 2.4G 无线,所谓的 for Mac 都是利用罗技软件对于 Mac 下软件的快捷支持,没什么卵用。
2022-05-28 09:22:29 +08:00
回复了 Ayanokouji 创建的主题 Apple 各位在 mac 上都用什么快捷键切换输入法
Karabiner 映射 shift 为 F16 。直接映射 shift 到 cmd+shift 会有问题,某些情况下切换不成功。
2022-05-27 14:11:08 +08:00
回复了 shanejix 创建的主题 程序员 Web3 入门,有平滑的路线推荐么?
学它马勒格八子,这玩意儿有个屁用。
2022-05-26 15:42:17 +08:00
回复了 movq 创建的主题 Apple shell 进入要等待一段时间,感觉很慢
2022-05-24 13:37:38 +08:00
回复了 kimigaooo 创建的主题 Apple 618 拓展坞的选择大家有什么建议
DP 1.4 带 2 个 4k 60Hz 理论上是可能的,但别想用 USB 了,带宽全被用来视频传输了。
2022-05-24 13:30:35 +08:00
回复了 kimigaooo 创建的主题 Apple 618 拓展坞的选择大家有什么建议
- 接口看需求,比如我就没有网口、SD 卡、耳机口需求,直接 dockcase 6 合 1
- 4k 60Hz 支持需要芯片支持,以前这里 40 多层有人发过视频讲解 https://www.v2ex.com/t/753725
- 9 合 2 感觉占 2 口有点多,不过导出来 9 个口也可以接受
- M1 芯片据说有兼容性问题 https://xujiwei.com/blog/2021/06/portable-usb-docks-compare/
- 个人意见,仅供参考
2022-05-24 11:08:39 +08:00
回复了 luffy 创建的主题 程序员 没人讨论 PHP 了嘛?
@mywaiting 我从上家公司跑路就是因为之后可能要做 WordPress 二次开发。我并不反对 PHP ,我更愿意学 Laravel 或者 Yii 。总觉得 WordPress 这个东西做不大,大型站不会要在 WordPress 这个成品上,都是从头自己开发。WordPress 这条路太窄了,钻进去就把自己陷死了。
2022-05-22 19:21:12 +08:00
回复了 angcz 创建的主题 问与答 淘宝鼠标维修靠谱吗?
网上买俩微动,楼下随便找到维修的给你焊一下。
2022-05-21 21:04:45 +08:00
回复了 amber0317 创建的主题 问与答 感觉走到了人生的交叉路口,求 v 友解惑
先学英语,出不出国都有用,六级真没什么用。

攒钱不要想,除非上班。但我觉得你一出象牙塔就回不来了,还是研究生比较好。
2022-05-18 07:36:54 +08:00
回复了 jchnxu 创建的主题 问与答 有没有人用过 monday.com?
为什么你们要看 YouTube 广告,跳过不好吗?
2022-05-18 00:38:24 +08:00
回复了 Sliverburger 创建的主题 问与答 如何更好地兼容 Python 2 和 Python 3
futurize, six
2022-05-17 11:58:22 +08:00
回复了 imxthd 创建的主题 程序员 需要从 mongo 和 mysql 联合查询数据 ,该怎么优化
加缓存
2022-05-17 11:31:36 +08:00
回复了 movq 创建的主题 程序员 vim 里面为什么用:s 来替换$$$$为$$,却会替换成$$$?
:set nomagic

:help magic
2022-05-16 22:55:44 +08:00
回复了 Shiyq 创建的主题 程序员 一直有个疑问,作为一个码农,有必要考一些证书吗
国企评职称有用。其他企业没用,纯属浪费时间,还不如考英语证书。
1 ... 6  7  8  9  10  11  12  13  14  15 ... 57  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1122 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 22:50 · PVG 06:50 · LAX 14:50 · JFK 17:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.