zoukankan      html  css  js  c++  java
  • Django——django请求生命周期及web服务器并发量

    0 近几年python中的几个web框架,sanic,fastapi(异步框架)

    1 python中的web服务器都符合wsgi协议

    2 web服务器,任何语言都会有一个web服务器,负责把http请求转成这门语言的变量
      -python:wsgiref(性能很低),uwsgi(C语言写的),200多并发量
      -java:tomcat,jboss(300多并发量)
      -php:php服务器

    ps:每次请求都是一个新的请求 (这是http请求的缺点,所以之后有会话保持,Cookie session Token等技术)

     

     通俗点描述:

    用户在浏览器发请求,经过web服务器
    中间件,经过路由之后开始匹配视图函数。
    视图函数从数据库拿数据,从模板里拿模板,然后把数据渲染到模板里,最后生成一个渲染好的html页面返回给浏览器,用户从浏览器就看到样子了

    详细:
    客户端输入的是域名,要转成ip地址,所以有dns解析的过程(dns解析里面又有从哪个本地的host还是去计算机里配的那个比如阿里云里面去解析,再往上找,找到根),
    之后就直接定位到本地的ip地址,之后会朝ip地址和端口号发送get请求(这里指如果从浏览器发的话),
    之后会进入web服务器==》把http拆成字典==》调起可调用对象(django,flask,tornodo)==》中间件==》路由匹配(会循环匹配)
    ==》执行视图函数(数据库拿数据,模板文件拿模板,渲染)==》生成html页面(这个html页面是已经渲染完了,而js实在客户端完成的)==》返回

    ps:

    QPS 代表每秒并发量

    不要觉得30并发少,这个量是普通公司正常的量
    同步框架 并发量300最多 一个接口能破万已经很好了,1万并发需要50台左右机器 2万并发需要80台左右服务器 粗略计算用户量: 用户量
    =日活*100*100
  • 相关阅读:
    Net Core 使用外部登陆提供程序登陆的流程,以及身份认证的流程
    Xamarin开发手机聊天程序
    线上处理数据转载
    Logstash
    Webpack按需加载一切皆模块
    网络编程
    NET Core 事件总线
    Using INSERT IGNORE with MySQL to prevent duplicate key errors
    Spring的两种任务调度Scheduled和Async
    Embedded servlet containers
  • 原文地址:https://www.cnblogs.com/guojieying/p/13744676.html
Copyright © 2011-2022 走看看