高性能异步web框架Sanic文档【一】

来源:互联网 发布:数据仓库 数据存储 编辑:程序博客网 时间:2024/06/05 07:59
个人翻译自https://github.com/channelcat/sanic,在https://github.com/donghouhe/sanic可看到,现在再贴于CSDN上。MIT LICENSE


Sanic

forked from channelcat/sanic 现在我要开始翻译了,之所以我这么有心情翻译是因为这个框架的性能实在是令我激动不已,我仿佛看到了不学go,不学openresty的希望。有人说sanic代码太裸,我百思不得其解,这风格和flask源码差不多嘛,怎么就说sanic代码裸呢。

Join the chat at https://gitter.im/sanic-python/Lobby

Build Status PyPI PyPI

Sanic 是一个 类Flask的 Python 3.5+ web server,为运行得快而写。它是基于在magicstack的一些很牛的民间人士的工作, 灵感来自这篇文章: https://magic.io/blog/uvloop-blazing-fast-python-networking/.

在 类Flask之外, Sanic 支持异步请求处理程序。 这意味着你可以使用Python 3.5的新的闪亮的 async/await 语法, 让你的代码非阻塞并且飞快。

Benchmarks

所有测试运行环境都是在安装了ubuntu的进程的AWS 中等实例中。 每个脚本传递一个小的 JSON 回应并且以100个连接的 wrk 测试。 Pypy 在测试 Falcon 和Flask上用了但没有开加速。

ServerImplementationRequests/secAvg LatencySanicPython 3.5 + uvloop33,3422.96msWheezygunicorn + meinheld20,2444.94msFalcongunicorn + meinheld18,9725.27msBottlegunicorn + meinheld13,5967.36msFlaskgunicorn + meinheld4,98820.08msKyoukaiPython 3.5 + uvloop3,88927.44msAiohttpPython 3.5 + uvloop2,97933.42msTornadoPython 3.52,13846.66ms

Hello World

from sanic import Sanicfrom sanic.response import jsonapp = Sanic()@app.route("/")async def test(request):    return json({"hello": "world"})if __name__ == "__main__":    app.run(host="0.0.0.0", port=8000)

安装

  • python -m pip install sanic

文档

  • 起步
  • 请求数据
  • 路由
  • 中间件
  • 异常
  • 蓝图
  • 基于 Views 的 Class
  • Cookies
  • 静态文件
  • 测试
  • 部署
  • 贡献
  • 许可证

TODO:

  • 流文件处理
  • 文件输出
  • 集成第三方模块的例子
  • RESTful 路由

局限:

  • 没有给windows用的 uvloop 和 httptools 的轮子 :(

结语:

                 ▄▄▄▄▄        ▀▀▀██████▄▄▄       _______________      ▄▄▄▄▄  █████████▄  /                 \     ▀▀▀▀█████▌ ▀▐▄ ▀▐█ |   Gotta go fast!  |   ▀▀█████▄▄ ▀██████▄██ | _________________/   ▀▄▄▄▄▄  ▀▀█▄▀█════█▀ |/        ▀▀▀▄  ▀▀███ ▀       ▄▄     ▄███▀▀██▄████████▄ ▄▀▀▀▀▀▀█▌   ██▀▄▄▄██▀▄███▀ ▀▀████      ▄██▄▀▀▀▄██▄▀▀▌████▒▒▒▒▒▒███     ▌▄▄▀▌    ▐▀████▐███▒▒▒▒▒▐██▌▀▄▄▄▄▀   ▀▀████▒▒▒▒▄██▀          ▀▀█████████▀        ▄▄██▀██████▀█      ▄██▀     ▀▀▀  █     ▄█             ▐▌ ▄▄▄▄█▌              ▀█▄▄▄▄▀▀▄▌     ▐                ▀▀▄▄▄▀ ▀▀▄▄▀

0 0
原创粉丝点击