V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  LeeReamond  ›  全部回复第 80 页 / 共 82 页
回复总数  1640
1 ... 72  73  74  75  76  77  78  79  80  81 ... 82  
2021-01-25 17:45:45 +08:00
回复了 LeeReamond 创建的主题 问与答 2021 年,用 Python 部署异步网络服务的最佳实践是什么?
@so1n redis 集群不是自身特性,为什么需要客户端支持呢
@Carry0317 目前按照我这个帖子,纯 py 的方法就是 uvloop+aiohttp+gunicorn 。楼上有老哥提到 fastapi 部署是 uvicorn+gunicorn 但他没说怎么做,我暂不理解。另外如果你的应用层封装简单,也可以试试 vibora,japronto 这类 c 库,应该可以获得最大转发效率,比较基础的使用上应该也没什么坑,大概吧。不过你这个 gpu 业务本身需要 python+http 转发本身就挺奇怪的
2021-01-25 06:15:38 +08:00
回复了 LeeReamond 创建的主题 问与答 2021 年,用 Python 部署异步网络服务的最佳实践是什么?
@spcharc 我印象中确实是有见过生产级部署以后出现莫名泄露的问题的帖子,大概几年前。我自己没遇到过。另外我对楼上说的猴子布丁原理上性能高于 libuv 仿品很好奇
2021-01-25 05:02:18 +08:00
回复了 LeeReamond 创建的主题 问与答 2021 年,用 Python 部署异步网络服务的最佳实践是什么?
@wdhwg001 orm 方面我是完全不做任何希望了,我觉得以 python 社区的生产能力 orm 大概是要永远难产下去了。我个人使用体验上倒是没体会到 orm 对开发速度有多大帮助,都是直接操作数据库,所以倒是感觉不很有所谓
2021-01-25 05:00:33 +08:00
回复了 LeeReamond 创建的主题 问与答 2021 年,用 Python 部署异步网络服务的最佳实践是什么?
@wdhwg001 gunicorn 套 uvicorn 怎么实现,感觉这两个不能互相套啊

楼上说的 ssl 泄露的 issue 我看倒是确实没人理。印象中 17 年左右 stackoverflow 的 asyncio 区还是极端冷清的,不知道现在怎么样。我个人体验来讲,倒是 3.5 时代感觉原生异步的学习过程很底层,从生成器概念一步步概念学上来,最近两年倒是完全感觉在使用高级 api,完全没有底层的感觉了,基本和写同步代码没有任何区别,只是外面要套一层扳机而已。
2021-01-25 03:31:16 +08:00
回复了 LeeReamond 创建的主题 问与答 2021 年,用 Python 部署异步网络服务的最佳实践是什么?
@ManjusakaL 认真看完了,大佬确实经验丰富。我因为学习异步的时候已经出现原生异步了,所以对猴子补丁天生有不信任,承认错误。我们在简单的生产环境(非内部管理平台)中使用原生异步体验良好,可能有些过于信任。

搜了一下你说的 BPO-30698,ssl 链接泄露应该如何理解,似乎不是一个导致明文泄露的恶性 bug,而是导致内存不能回收的问题,不知是否理解正确。在 17/18 年左右倒是听说过有人 aiohttp 框架出现 ssl 内存泄露,我从未遇到过类似问题,以为在新版中已经修好了。看了这个 issue,不理解如何复现。

你在帖子中提到的同步异步混合,以及生态不支持 c 插件等问题,我个人理解这两个目前已经不是问题,我的理解中异步代码中首先不应存在同步内容,我从未体验过同步异步同时维护的复杂度。另外生态方面主要是接入后端,python 本身的阻塞实现倒是能用附带线程池的方式梭掉,顺带 cython 还能解决掉 gil,而后端方面,mysql 和 redis,oracle 也有异步连接方式,我使用 aiolibs 的库体验良好,可能是接入服务数少,我个人而言这方面没什么不满。

另外大佬这么推崇猴子补丁,有没有 gevent 系列比较合适的入门文章,我想完整评估一下 gevent 相对于原生异步方案的性能和稳定性
2021-01-25 02:04:39 +08:00
回复了 LeeReamond 创建的主题 问与答 2021 年,用 Python 部署异步网络服务的最佳实践是什么?
@ManjusakaL 我觉得你对屎可能有些误解。即使在 python3.5 时代,原生异步也并不屎,这种用户态完全可控、可预测的状态显然是更优的设计。gevent 无法做到以上任何一项,用户用脚投票也说明了这点。
2021-01-25 01:52:46 +08:00
回复了 LeeReamond 创建的主题 问与答 2021 年,用 Python 部署异步网络服务的最佳实践是什么?
@so1n 就是很简单的按照 quick start 定义了一个异步函数,绑定到'/',返回一个 echo,没有其他任何东西。部署方面,8 个 fork,关闭 log 。uvicorn main:app --worker 8 --log-level error,不知道有哪里配置还能提高性能的。

aio 库性能差我觉得应该没有这个说法。python 的异步从一开始就没有什么黑魔法,当初 dableaz 在 pycon 花半小时就实现一个功能完整的 eventloop,可以完全替代原生进行 basic tcp socket programming 的。所以 eventloop 相同的情况下,实现方面完全可追溯,封装程度其实区别不大,影响也不大,理论上无所谓 aio 库慢与否,实践当中我也从没听说过有人说 aiolibs 里面的东西比同类慢。
2021-01-25 01:46:12 +08:00
回复了 LeeReamond 创建的主题 问与答 2021 年,用 Python 部署异步网络服务的最佳实践是什么?
@Carry0317 这篇帖子跟 GPU 没什么关系吧。你的意思是想提供一个高可用的 gpu 服务接口?
2021-01-24 22:36:27 +08:00
回复了 LeeReamond 创建的主题 问与答 2021 年,用 Python 部署异步网络服务的最佳实践是什么?
@TypeError 不知道它这个怎么测试的,aiohttp 倒是和我测的差不多,即使 prefork 也有一个上限,大概四万 qps 左右,并不能 8 线程就 8 倍可用性。fastapi 我已经用 uvicorn 部署了,理论上已经是最佳配置了,不知道它这个怎么搞出来五万 qps 的。

go 和 py 这种属于无谓争论,用 py 上生产肯定还是看重开发效率,py 内部换个框架都要问一问有没有坑的问题,换 go 就更苦了,go 目前这个生态。。。
@uclort 关了才能显示出这个销售的厉害啊
@youthfire 不光体积剧增,还慢。但是总之我不知道除了打包以外还有隐藏 cli 的方法。可以尝试其他打包方式
pyinstaller 打包,选择隐藏命令行模式
2021-01-24 17:22:14 +08:00
回复了 PPTX 创建的主题 Python Python flask 实现 http 消息代理服务,怎么配置高并发?
py 的高并发的话肯定是要上 io 复用的,flask 怎么部署都不行。fastapi 我没测试过,aiohttp 的话可以上 uvloop+prefork 部署,单机可用性能达到几万 qps,很可以了
2021-01-24 15:56:31 +08:00
回复了 Jhonohn 创建的主题 互联网 感觉迅雷比百度网盘老实多了
@silvernoo 老哥推荐个不过时的?
2021-01-24 15:53:04 +08:00
回复了 LeeReamond 创建的主题 问与答 没有安装 Oracle 的电脑,应该如何连接到 oracle 数据库?
@leon0903 我后来按楼上说的,进入 navicat 设置里面,把默认那个 oci.dll 换成新下载的,就能用了,不过我配置的 tnsnames 没有发挥作用,后面又在不同机器上架了几个,没改 tns 都能连上,不知道为什么
@hoyixi
@oott123
感谢,按大佬说的方法已经解决。但是我不理解为什么不能监听 127.0.0.1 呢,端口转发是什么个原理。

我理解上是类似反向代理那种感觉,比如客户访问 127.0.0.1:8080,程序会自动去寻找虚拟机 127.0.0.1:8080 的内容,并返回。为什么 127.0.0.1 不行,而 10.2.0.15 可以,0.0.0.0 也行? 虚拟机上服务绑定在 0.0.0.0 很好理解,端口转发的对象是 0.0.0.0 应该怎么理解呢?
1 ... 72  73  74  75  76  77  78  79  80  81 ... 82  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3284 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 10:23 · PVG 18:23 · LAX 03:23 · JFK 06:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.