tornado】Tornado的特点是什么?性能怎么样?

2021-02-23 15:49发布

7条回答
aijingda
1楼 · 2021-02-24 14:00.采纳回答

  Tornado的特点是什么?

  作为WEB框架,是一个轻量级的web框架,其拥有异地非阻塞IO的处理方式。

  作为web服务器,Tornado有较为出色的抗负载能力,用nginx反向代理的方式部署Tornado和其它Python web应用框架进行对比,最大浏览量超过第二名将近40%。

  Tornado性能怎么样?

  Tornado有着十分优异的性能,它试图解决C10K问题,即处理大于或者等于一万的并发;

  Tornado框架和服务器一起组成一个WSGI全栈替代品,在WSGI容器中使用tornado网络框架或者tornaod http服务器,有局限性,推荐同时使用tornaod的网络框架和HTTP服务器。


studentaaa
2楼 · 2021-02-24 14:14

关于Python知识的学习,有很多东西是我们不知道甚至于不熟悉的,比如说Tornado,你知道Tornado是什么吗?Tornado的特点是什么?Tornado性能怎么样?我们一起来看看吧。

  什么是Tornado?

  Tornado全称为Tornado Web Server,是一个用Python语言写成的web服务器兼WEB应用框架,由FriendFeed公司在自己的网站FriendFeed中使用,被Facebook收购以后框架在2009年9月以开源软件形式开放给大众。

  Tornado的特点是什么?

  作为WEB框架,是一个轻量级的web框架,其拥有异地非阻塞IO的处理方式。

  作为web服务器,Tornado有较为出色的抗负载能力,用nginx反向代理的方式部署Tornado和其它Python web应用框架进行对比,最大浏览量超过第二名将近40%。

  Tornado性能怎么样?

  Tornado有着十分优异的性能,它试图解决C10K问题,即处理大于或者等于一万的并发;

  Tornado框架和服务器一起组成一个WSGI全栈替代品,在WSGI容器中使用tornado网络框架或者tornaod http服务器,有局限性,推荐同时使用tornaod的网络框架和HTTP服务器。


梵梵
3楼 · 2021-02-25 13:44

Tornado的独特之处在于其所有开发工具能够使用在应用开发的任意阶段以及任何档次的硬件资源上。而且,完整集的Tornado工具可以使开发人员完全不用考虑与目标连接的策略或目标存储区大小。

Tornado 结构的专门设计为开发人员和第三方工具厂商提供了一个开放环境。已有部分应用程序接口可以利用并附带参考书目,内容从开发环境接口到连接实现。

Tornado包括强大的开发和调试工具,尤其适用于面对大量问题的嵌入式开发人员。这些工具包括C和C++源码级别的调试器,目标和工具管理,系统目标跟踪,内存使用分析和自动配置. 另外,所有工具能很方便地同时运行,很容易增加和交互式开发。

VxWorks支持广泛的工业标准如POSIX 1003.1b实时扩展,ANSI C (浮点支持) and TCP/IP网络协议. 这些标准促进多种不同产品间的互用性,提升了可移植性,保护用户在开发和培训方面的投资。

VxWorks具备一个高效的微内核。微内核支持实时系统的一系列特征包括多任务,中断支持,任务抢占式调度和循环调度。微内核设计使VxWorks缩减了系统开销并加速了对外部事件的反应。内核的运行非常快速和确定,例如,在68K处理器上上下文切换仅需要3.8微秒。中断等待时间少于3微秒。

VxWorks 具有可伸缩性,开发人员能按照应用需求分配所需的资源,而不是为操作系统分配资源。从需要几K字节存储区的嵌入设计到需求更多的操作系统功能的复杂的高端实时应用,开发人员可任意选择多达80种不同的配置。


猫的想法不敢猜
4楼 · 2021-02-25 20:08

为WEB框架,是一个轻量级的web框架,其拥有异地非阻塞IO的处理方式。作为web服务器,Tornado有较为出色的抗负载能力,用nginx反向代理的方式部署Tornado和其它Python web应用框架进行对比,最大浏览量超过第二名将近40%。

 Tornado有着十分优异的性能,它试图解决C10K问题,即处理大于或者等于一万的并发; Tornado框架和服务器一起组成一个WSGI全栈替代品,在WSGI容器中使用tornado网络框架或者tornaod http服务器,有局限性,推荐同时使用tornaod的网络框架和HTTP服务器。 


不吃鱼的猫
5楼 · 2021-03-09 18:15

Tornado框架和服务器一起组成一个WSGI全栈替代品,在WSGI容器中使用tornado网络框架或者tornaod http服务器,有局限性,推荐同时使用tornaod的网络框架和HTTP服务器。

人情世故
6楼 · 2021-03-10 15:42

Tornado全称为Tornado Web Server,是一个用Python语言写成的web服务器兼WEB应用框架,由FriendFeed公司在自己的网站FriendFeed中使用,被Facebook收购以后框架在2009年9月以开源软件形式开放给大众。

作为WEB框架,是一个轻量级的web框架,其拥有异地非阻塞IO的处理方式。

  作为web服务器,Tornado有较为出色的抗负载能力,用nginx反向代理的方式部署Tornado和其它Python web应用框架进行对比,最大浏览量超过第二名将近40%。



征戰撩四汸
7楼 · 2022-01-04 15:35

   特点:

  作为Web框架,是一个轻量级的Web框架,类似于另一个Python web框架Web.py,其拥有异步非阻塞IO的处理方式。

  作为Web服务器,Tornado有较为出色的抗负载能力,官方用nginx反向代理的方式部署Tornado和其它Python web应用框架进行对比,结果最大浏览量超过第二名近40%。

  

  性能:

1、HTTP服务器


Tornado为了高效实现Comet/后端异步调用HTTP接口,是直接内嵌了HTTP服务器。

前端无需加apache / lighttpd / nginx等也可以供浏览器访问;但它并没有完整实现HTTP1.1的协议,所以官方文档是推荐用户在生产环境下在前端使用nginx,后端反向代理到多个Tornado实例。

Tornado本身是单线程的异步网络程序,它默认启动时,会根据CPU数量运行多个实例;充分利用CPU多核的优势。


2.单线程异步

网站基本都会有数据库操作,而Tornado是单线程的,这意味着如果数据库查询返回过慢,整个服务器响应会被堵塞。

数据库查询,实质上也是远程的网络调用;理想情况下,是将这些操作也封装成为异步的;但Tornado对此并没有提供任何支持。

这是Tornado的设计,而不是缺陷。一个系统,要满足高流量;是必须解决数据库查询速度问题的!

数据库若存在查询性能问题,整个系统无论如何优化,数据库都会是瓶颈,拖慢整个系统!

异步并不能从本质上提到系统的性能;它仅仅是避免多余的网络响应等待,以及切换线程的CPU耗费。

如果数据库查询响应太慢,需要解决的是数据库的性能问题;而不是调用数据库的前端Web应用。

对于实时返回的数据查询,理想情况下需要确保所有数据都在内存中,数据库硬盘IO应该为0;这样的查询才能足够快;而如果数据库查询足够快,那么前端web应用也就无将数据查询封装为异步的必要。

就算是使用协程,异步程序对于同步程序始终还是会提高复杂性;需要衡量的是处理这些额外复杂性是否值得。

如果后端有查询实在是太慢,无法绕过,Tornaod的建议是将这些查询在后端封装独立封装成为HTTP接口,然后使用Tornado内置的异步HTTP客户端进行调用。


相关问题推荐

  • 回答 1
    已采纳

    tornado是个基于epoll的单线程web框架,tornado的核心是ioLoop,ioLoop的核心epoll是个IO多路复用器。

  • 回答 4

    Tornado 就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处...

  • 回答 2

    response.setContentType(text/html;charset=UTF-8;pageEncoding=UTF-8); 这个要在servlet的方法中的第一行,你先进行response的转换就可以了,改成 response.setContentType(text/html;charset=UTF-8;pageEncoding=UTF-8);//放到这 PrintWr...

  • 回答 1

    一、综述基于兴趣尝试使用Python开发语言搭建一个基础的web框架,本次采用的方案是集成tornado方式。项目源码二、开发环境系统需要具备以下开发环境:Python-3.7(Anaconda2020.02)tornado-6.0.3PyCharm开发工具三、python下载tornado库如果当前的环境里没有to...

  • 回答 3
    已采纳

    轻量级web框架异步非阻塞IO处理方式出色的抗负载能力优异的处理性能,不依赖多进程/多线程,一定程度上解决C10K问题WSGI全栈替代产品,推荐同时使用其web框架和HTTP服务器

没有解决我的问题,去提问