tornado基础
一、初识tornado
1、什么是tornado
全称Tornado Web Server,是一种Web服务器软件的开源版本。
2、特点
作为Web框架,它是一个轻量级的Web框架,类似于另一个Python Web框架Web.py,其拥有异步非阻塞IO的处理方式。
作为Web服务器,Tornado有较为出色的抗负载能力,官方用nginx反向代理的方式部署Tornado和其它Python Web应用框架进行对比,结果最大浏览量超过第二名近40%。
3、使用场景
1)用户量大,高并发。
2)大量的HTTP持久连接:
使用同一个TCP连接来发送和接收多个HTTP请求/应答,而不是为每一个新的请求/应答打开新的连接的方法。
对于HTTP1.0,可以在请求头(Header)中添加Connection:keep-alive。
对于HTTP1.1,所有的连接默认都是持久连接。
4、C10K
上面的高并发问题,通常用C10K这一概念来描述。C10K(Concurrently handling ten thousand connections)即并发10000个连接。对于单台服务器而言,根本无法承担,而采用多台服务器分布式又意味着高昂的成本。
5、性能
Tornado在设计之初就考虑到了性能因素,旨在解决C10K问题,这样的设计使得其成为一个拥有非常高性能的解决方案(服务器与框架的集合体)。
二、Django与Tornado的对比
Django是走大而全的方向,注重的是高效开发,它最出名的是其全自动化的管理后台(实际使用xadmin多):只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。Django提供的方便,也意味着Django内置的ORM跟框架内其他模块耦合程度高,应用程序必须使用Django内置的ORM,否则就不能享受到框架内提供的种种基于其ORM的便利。特点:sesssion功能、后台管理、ORM。
Tornado走的是少而精的方向,注重的是性能优越,它最出名的是异步非阻塞的设计方式。特点:HTTP服务器、异步编程、WebSockets。
三、Tornado安装
。。。
tornado基础的更多相关文章
- 01: tornado基础篇
目录:Tornado其他篇 01: tornado基础篇 02: tornado进阶篇 03: 自定义异步非阻塞tornado框架 04: 打开tornado源码剖析处理过程 目录: 1.1 Torn ...
- 1.tornado基础
import tornado.web ''' tornado基础web框架模块 ''' import tornado.ioloop ''' tornado的核心循环IO模块,封装了linux的epol ...
- Tornado基础学习篇
1.1 Tornado是什么? Tornado是使用Python编写的一个强大的.可扩展的Web服务器.它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应 ...
- tornado基础入门(一)——简单了解tornado
参考:http://demo.pythoner.com/itt2zh/ch1.html tornado是一个轻量级的web框架,是一个用python写的web服务器,它有三个最大的特点(优势)速度.简 ...
- 1.(基础)tornado初识
tornado的话就不带着大家看源码了,今后可能会介绍,目前只是看简单的用法,而且当前的tornado版本不高,其实说白了这是很久以前写的文档,但是由于格式的原因,所以打算用Markdown重写一次. ...
- python基础--概念性问题
面试其他篇 目录: 头条面试题:https://blog.csdn.net/m0_37947204/article/details/80103151 1.1 python常见基础题 1.遍历文件夹 # ...
- Tornado开发技巧,简单了解tornado
tornado基础入门(一)——简单了解tornado 参考:http://demo.pythoner.com/itt2zh/ch1.html tornado是一个轻量级的web框架,是一个用pyth ...
- 04: 打开tornado源码剖析处理过程
目录:Tornado其他篇 01: tornado基础篇 02: tornado进阶篇 03: 自定义异步非阻塞tornado框架 04: 打开tornado源码剖析处理过程 目录: 1.1 torn ...
- 03: 自定义异步非阻塞tornado框架
目录:Tornado其他篇 01: tornado基础篇 02: tornado进阶篇 03: 自定义异步非阻塞tornado框架 04: 打开tornado源码剖析处理过程 目录: 1.1 源码 1 ...
随机推荐
- IntelliJ IDEA搭建Spring Boot 2 项目入门
之前都是用Eclipse,今天试了下IntelliJ IDEA,搭建了一个Spring Boot 2的Hello world项目. 一.IntelliJ IDEA 下载安装 官网下载:https:// ...
- Linux iotop工具简介
iotop的简介: iotop是一款开源.免费的用来监控磁盘I/O使用状况的类似top命令的工具,iotop可以监控进程的I/O信息.它是Python语言编写的,与iostat工具比较,iostat是 ...
- tomcat修改进程名称
1.window平台: 打开tomcat_home\bin\setclasspath.bat文件,找到set _RUNJAVA=”%JRE_HOME%\bin\java”这一行. 将该行注释掉 ,然后 ...
- php number_format金钱 价格 格式处理 由分单位转换成元(保留2为小数)
/** * priceFormat * 价格格式处理 * * @access public * @param null * @since 1.0 * @return object */ if(!fun ...
- Error 1327 Invalid Drive 的解决办法
出现场景: 当我在安装STM32公司的 STM32 ST-LINK Utility v4.5.0 软件时,弹出了这个错误.弹框的内容大体是说找不到D盘,这里忘记截图了. 我的电脑的硬盘是我另一 ...
- 从公司实际沟通中-得知bug的描述与为什么要bug留痕
从公司实际沟通中-得知bug的描述与为什么要bug留痕 最近在做的一个实际项目.下图为我们的聊天记录,仔细看图,领悟: 从中预期可以学习到的: 1)实际公司--Bug描述的另一个方法: 2)实际公司- ...
- BZOJ2339/LG3214 「HNOI2011」 卡农 组合数学
问题描述 BZOJ2339 本题的一些心得 对于这种无序集合计数类问题,可以通过对方案数除以某个数的阶乘,使得无序化变为有序化. 设计DP方程时候,应该先有序的列出状态转移方程每一项的来源,并一项项推 ...
- 给Java0基础的五个学习的思路?
关于Java初学者来说,想学习Java教程,需求了解,根底打好才干学得更好,Java教程之学习Java的路线图的五个必经阶段,希望能对Java学习者有所帮忙. 第一个阶段-java根底阶段 1.jav ...
- 【AtCoder】AtCoder Grand Contest 039 解题报告
点此进入比赛 \(A\):Connection and Disconnection(点此看题面) 大致题意: 给你一个字符串,将它重复\(k\)次.进行尽量少的操作,每次修改一个位置上的字符,使得不存 ...
- MongoDB for OPS 02:复制集 RS 配置
写在前面的话 对于生产环境而言,除非是非常不重要的业务,且该业务允许我们出现一定时间的停机,我们一般才会使用单节点,且该单节点必须要有完善的备份手段. RS 复制集 我们这里采取一主两从的方式搭建复制 ...