前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Linux] Nginx 提供静态内容和优化积压队列

[Linux] Nginx 提供静态内容和优化积压队列

作者头像
唯一Chat
发布2019-09-10 11:21:21
5590
发布2019-09-10 11:21:21
举报
文章被收录于专栏:陶士涵的菜地陶士涵的菜地
代码语言:javascript
复制
1.try_files指令可用于检查指定的文件或目录是否存在; NGINX会进行内部重定向,如果没有,则返回指定的状态代码。例如,要检查对应于请求URI的文件是否存在,请使用try_files指令和$ uri变量,如下所示:
server {
    root /www/data;
    location /images/ {
        try_files $uri /images/default.gif;
    }
}

2.对NGINX配置进行微小优化可以提高生产力并帮助实现最佳性能。启用sendfile默认情况下,NGINX会自行处理文件传输,并在发送之前将文件复制到缓冲区中。启用sendfile指令消除了将数据复制到缓冲区的步骤,并允许将数据从一个文件描述符直接复制到另一个文件描述符。或者,为了防止一个快速连接完全占用工作进程,可以使用sendfile_max_chunk指令限制单个sendfile()调用中传输的数据量(在本例中为1 MB):
location /mp3 {
    sendfile           on;
    sendfile_max_chunk 1m;
    #...
}


3.优化积压队列
其中一个重要因素是NGINX可以多快地处理传入连接。一般规则是在建立连接时,将其放入侦听套接字的“监听”队列中。在正常负载下,队列很小或根本没有队列。但是在高负载下,队列会急剧增长,导致性能不均匀,连接断开,延迟增加。显示侦听队列要显示当前侦听队列,请运行以下命令:
sudo sysctl -w net.core.somaxconn=4096

server {
    listen 80 backlog=4096;
    # ...
}

ss -l

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档