• nginx 开启高效文件传输模式


    (1) sendfile 参数用于开启文件的高效传输模式,该参数实际上是激活了 sendfile() 功能,sendfile() 是作用于两个文件描述符之间的数据拷贝函数,这个拷贝操作是在内核之中的,被称为 "零拷贝" ,sendfile() 比 read 和 write 函数要高效得多,因为 read 和 write 函数要把数据拷贝到应用层再进行操作

    (2) tcp_nopush 参数用于激活 Linux 上的 TCP_CORK socket 选项,此选项仅仅当开启 sendfile 时才生效,tcp_nopush 参数可以允许把 http response header 和文件的开始部分放在一个文件里发布,以减少网络报文段的数量

    cat /usr/local/nginx/conf/nginx.conf

    ......

    http {

    include mime.types;

    server_names_hash_bucket_size 512;

    default_type application/octet-stream;

    sendfile on; # 开启文件的高效传输模式

    tcp_nopush on; # 激活 TCP_CORK socket 选择

    tcp_nodelay on; #数据在传输的过程中不进缓存

    keepalive_timeout 65;

    server_tokens off;

    include vhosts/*.conf;

    }

    作者简介: 
    陈志珂(头条号:强扭的瓜不好吃)公众号“铅笔学园”运维内容合作作者之一,目前就职于中国最大的安卓应用软件公司,任高级工程师现在公司任php开发工程师,python开发工程师,高级运维工程师。
    铅笔学园:IT资源分享|知识分享,做初级程序员的指明灯

  • 相关阅读:
    MVC 下载相关
    中缀、前缀和后缀表达式
    什么是堆栈?
    为什么和其他语言相比C语言是快速的语言
    什么是回溯法?
    产生n bit所有可能的序列
    讨论汉诺塔之谜
    递归和内存分配(可视化)
    关于递归
    随机数产生函数的范围转换
  • 原文地址:https://www.cnblogs.com/qianbixueyuan/p/9531090.html
Copyright © 2020-2023  润新知