V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
techv
V2EX  ›  Python

大家有没有用 Sanic 开发 web 的,异步 IO 感觉还不错

  •  
  •   techv · 2018-09-11 16:29:15 +08:00 · 6378 次点击
    这是一个创建于 2025 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Sanic 是一个仅仅支持 Python 3.5+的 Web 框架,跟 Flask 很像,支持异步 IO。自己用它写了几个 web 应用,感觉不错。 这里有一个简单的介绍 https://www.imgless.com/article/87.html

    20 条回复    2018-09-13 14:12:46 +08:00
    Debiancc
        1
    Debiancc  
       2018-09-11 18:21:26 +08:00
    python 想要高性能?还是想想怎么把 GIL 移除吧
    codingcrush
        2
    codingcrush  
       2018-09-11 18:31:11 +08:00   ❤️ 1
    sanic 库代码太丑,实测性能也不咋地,py 高性能是伪命题
    jiangnanyanyu
        3
    jiangnanyanyu  
       2018-09-11 18:34:27 +08:00 via Android
    太难写了
    windfarer
        4
    windfarer  
       2018-09-11 18:36:18 +08:00
    apistar vibora
    baojiweicn2
        5
    baojiweicn2  
       2018-09-11 20:48:25 +08:00 via iPhone
    sanic 协程不够啊,要 orm 一堆东西都异步才行
    luzhongqiu
        6
    luzhongqiu  
       2018-09-11 21:21:27 +08:00
    用了。。配套一些列的异步数据库操作
    gemini
        7
    gemini  
       2018-09-11 21:49:15 +08:00
    有在用 vibora 的 v 友么
    https://github.com/vibora-io/vibora
    d18
        8
    d18  
       2018-09-11 21:51:36 +08:00
    golang 大法好,python 的异步太混乱。
    mianju
        9
    mianju  
       2018-09-11 22:10:32 +08:00
    @gemini 用了下,感觉还有点坑,只能等一个稳定版本
    qq976739120
        10
    qq976739120  
       2018-09-11 22:19:06 +08:00
    需要性能了就要考虑换语言了
    so1n
        11
    so1n  
       2018-09-11 22:43:14 +08:00
    sanic 的生态还没那么完善 有时找不到轮子
    deanglc
        12
    deanglc  
       2018-09-11 22:45:43 +08:00 via iPhone
    @d18 大佬,你用的什么 go 框架,学习中,想偷师
    deepreader
        13
    deepreader  
       2018-09-12 04:20:52 +08:00
    @Debiancc GIL 还是解决还是 multiple core CPU bound 的性能问题吧? Sanic 只是解决 I/O bound.
    NoAnyLove
        14
    NoAnyLove  
       2018-09-12 09:55:51 +08:00
    记得在什么地方看了性能测试,不如 Flask,所以感觉没有太大用的必要
    xpresslink
        15
    xpresslink  
       2018-09-12 09:57:58 +08:00
    @deepreader 利用多核这个其实目前已经有比较成熟方案,比如用 uWSGI,gunicorn 之类的服务器按核心数开进程就可以了。
    deepreader
        16
    deepreader  
       2018-09-12 10:08:49 +08:00
    @xpresslink 有意思。
    techv
        17
    techv  
    OP
       2018-09-12 12:50:16 +08:00
    @gemini 第一次听说这个框架,看他自己的 benchmark 很诱人啊
    Debiancc
        18
    Debiancc  
       2018-09-13 11:05:12 +08:00
    @deepreader 并没有,GIL 是 python 一个全局线程排它锁,你写 python 所有有关 thread 的都是经过 GIL 排他处理过后的线程安全。效率还不如单线程,你可以看看这篇文章 http://cenalulu.github.io/python/gil-in-python/
    deepreader
        19
    deepreader  
       2018-09-13 11:59:40 +08:00
    @Debiancc 噢噢噢我说反了 『移除』 GIL 还是解决还是 multiple core CPU bound 的性能问题吧。
    当然移除 GIL 后效率不一定高
    Debiancc
        20
    Debiancc  
       2018-09-13 14:12:46 +08:00
    @deepreader 2333,thx
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3756 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 00:15 · PVG 08:15 · LAX 17:15 · JFK 20:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.