Webbench压力测试工具

  1. 作业解释
  2. 作业
  3. Django-Hello

作业解释

  • NGINX UWSGI

    部署上线模型
    nginx epoll 异步IO复用套接字模型
    异步IO:多个事件操作 只在一个线程或进程即可
    recv accept: 阻塞
    线程,进程区别:进程是内存独立的,线程共享父进程内存
    多进程并不是好的,因为要进行进程的上下文切换
    UWSGI: Web服务器,提高nginx效率,比runserver强多了

  • TCP连接

  • webbench:压力测试工具 webbench -c 1000 -t 5
    apt-get install gcc ctags

安装,使用一下

  • apache: apache-bench

作业

  • 了解异步IO、了解同步
  • 了解阻塞和非阻塞是什么意思
  • 使用代码编写简单的单进程IO复用服务器模型及客户端
    • 前后端分离:flask / django
    • Linux:家目录,根目录是什么 cd cd ~ cd /home
    • 了解sqllit3数据库的应用场景和mysql的区别
    • 文件系统有哪些?各有什么特点
      • ntfs ext4 ext3

Django-Hello

* 1.返回了一个HTML页面
* 2.构建了静态资源
* 3.为模板页面返回模板变量: {{ var }} views->var
* 4.模板标签:必须要有闭合标签 {% for %}
* 5.静态资源: css,js,mp3,audio, 路径查找: 绝对、相对
    * settings->STATICFILES_DIR->
    * {% load static %}
* 6.让视图函数从数据库里拿数据
    * 有一个数据库:sqlite3 学习使用的轻量级数据库文件
    * 创建表:吧表创建在对应的app下-> models.py
    * python manage.py makemigrations 查找当前数据库差异,迁移文件
    * python manage.py migrate 通过迁移文件执行真正的SQL
* 7.admin界面 可以管理django中所有用到数据表的app
    * 必须创建超级用户才能看到这个界面: python3 manage.py createsuperuser
* 8.admin界面注册模型类
    * admin.site.register(models.Student)
    * `__str__(self)`:用来为数据表具体某一个数据提供一个可读性更高的名字
* 9.视图函数操作模型类表
    * 让视图函数返回所有学生
    * content = models.Student.objects.all()
* 10.获取用户表单
    * 用户的提交数据方式:get,post request.method == 'GET' or 'POST'
    * 明确防跨站请求伪造令牌 {% csrf_token %}
    * 视图函数判断请求方式 post
        * request.POST.get() -> form -> value
    * 存储数据 models.Student.create(字段=value...)

* 1.返回HTML字符串
* 2.返回HTML页面
* 3.返回模板变量
* 4.模板标签使用
* 5.返回静态资源
* 6.创建模型类
* 7.admin界面使用
* 8.视图返回数据表内容
* 9.视图接收form表单值

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com
目录
主站