nginx企业级高性能配置优化

news2025/1/15 6:43:54

一、基础配置优化

1、CPU亲和性优化

        1.1、推荐直接将配置项设置成auto (worker_cpu_affinity),即采用了Nginx推荐的CPU绑核策略方式。

        1.2、手动绑定,将worker线程数量与CPU核心数一一绑定方式设置,设置成auto Nginx会自动识别并按照推荐策略来分配work线程和CPU

2、Nginx模型优化

        2.1、采用epoll事件模型(异步非阻塞方式)       

3、Nginx传输方式优化

        3.1、采用0拷贝,Nginx在http中默认添加一个sendfile on,做到了将文件直接从内核态到用户态的零拷贝。

        

4、Nginx文件压缩优化

        4.1、主要通过gzip方式进行设置

                gzip on         负责打开后端的压缩功能

                gzip_buffer  16  8k       表示设置Nginx在处理文件压缩时的内存空间

                gzip_comp_level  6           表示Nginx在处理压缩时的压缩等级,

                                                        通常等级越高它的压缩比越大,

                                                        根据实际情况来选择合适的压缩比。

                gzip_http_version 1.1      表示只对HTTP1.1版本的协议进行压缩

                gzip_min_length  256      表示只有大于最小的256字节长度时才进行

                                                        压缩如果小于该长度就不进行压缩。

                gzip_proxied   any            代表nginx作为反向代理时依据后端服务器时

                                                         返回信息设置一些gzip压缩策略

                gzip_vary   on                   表示是否发送Vary:  Accept_Encoding响应

                                                        头字段通知接收方响应使用了gzip压缩

                application/vnd.ms-fontobject image/x-icon     gzip压缩类型

                gzip_disable    "msie6"        关闭客户端是IE6的请求的压缩功能

二、缓存优化

1、浏览器缓存优化

        1.1、可以把静态元素缓存到客户端,通过Nginx的expires配置菜单进行设置

2、代理缓存优化

        2.1、

        

 

 

 

3、HTTPS SSL 缓存优化

        3.1、

                

                ssl_session_cache  shared:SSL:10m;

                ssl_session_timeout  10m;

4、KV服务缓存优化

        4.1、

                open_file_cache max=1000  inactive=20s;

                open_file_cache_valid  30s;

                open_file_cache_min_uses 2;

                open_file_cache_errors on;

 

缓存优化经验:

1、缓存越靠前越好:能放再客户端的就放在客户端优化,不要放到后端去频繁请求

2、缓存的数据越多越好: 能在本层级缓存的数据越多,就越可以减少对后端的请求

3、缓存的命中率越高越好: 如果命中率不高,同样还是会造成穿透到后端访问,此时还需要考虑将缓存的命中率设置的越高,这时观察指标,会发现缓存效果越优

     

缓存使用注意的问题:

  

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/501564.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

New Bing 全面开放?我看未必

前段时间大家应该都被ChatGPT刷屏了,其实就回答来说New Bing 才是最厉害的,因为它底层使用了ChatGPT 并且可以支持联网查询数据,回答中还能支持看到出处,方便确认其真实性。 New Bing 是微软基于 OpenAI ChatGPT 技术开发的新一代…

vue3项目搭建

一、安装 vue3.0 脚手架 (1)node安装(前端开发环境) 打开node官网:https://nodejs.org/zh-cn/ 下载node并安装(安装vue3建议node在10.0版本以上)。 输入node -v可显示node版本 (2)…

使用思维链(Chain-of-thoughts)提示在大型语言模型中引出推理

语言模型(LM)在NLP领域的发展速度非常快,特别是在大型语言模型(LLM)方面:当语言模型具有大量参数或权重/系数时,它们被称为“大型”。这些“大型”语言模型拥有处理和理解大量自然语言数据的能力。 LLM被用于一系列自然语言任务,…

【Java EE】-Servlet(三) MessageWall

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【JavaEE】 分享: 寂寞会发慌,孤独是饱满的。——史铁生《命若琴弦》 主要内容:前后端交互接口协商,约定好,使用什么数据格式传输&…

变现 起航篇! 手把手交你用chatgpt快速生成视频!

Chatgpt 很多同学都用的非常熟练了,但是都停留在文字阶段,有没有更好玩的用法,可以深度的利用chatgpt做一些事情呢? 今天菜哥就找一个方法可以快速利用chatgpt制作视频,整个过程大概3分钟,非常有趣&#xf…

浪涌保护器的工作类型及其应用

所有电路系统中的电气设备都需要浪涌保护器的保护支持。这主要取决于器件的内部电路如何能够处理电压波动。如果器件出现输入电压波动,则会导致器件损坏,因为电源电压的波动可能对器件有害。在本文中,我们将了解什么是浪涌保护器,…

【源码+个人总结】Spring 的 三级缓存 解决 循环依赖

Spring可以通过以下方法来避免循环依赖: 构造函数注入:使用构造函数注入来注入依赖项,这是一种比较安全的方式,因为在对象创建时就会注入依赖项,可以避免循环依赖。 Setter方法注入:使用Setter方法注入依赖…

云开发谁是卧底线下小游戏发牌助手微信小程序源码

源码下载:https://download.csdn.net/download/m0_66047725/87614365 云开发谁是卧底线下小游戏源码,发牌助手微信小程序源码。 “谁是卧底OL”是一个非常有趣,风靡全国的比拼语言表述能力、知识面与想象力的游戏。 谁是卧底OL是一款由开发…

Notepad++下载安装NppFTP插件

文章目录 一、Notepad内下载安装NppFTP插件1.打开Notepad——插件——插件管理2.找到NppFTP插件——点击安装3.安装完成 二、直接下载安装NppFTP插件1.网盘下载2.将下载好的NppFTP插件放入到Notepad\plugins的插件目录下3.重启Notepad 三、Notepad下载总结 一、Notepad内下载安…

【刷题】142. 环形链表 II

142. 环形链表 II 一、题目描述二、示例三、实现3.1 方法13.2 方法2 142. 环形链表 II 一、题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 nex…

前端学习 - 淼哥学Vue

如何判断数据是否受Vue管理,数据(对象,数组,字符串等)能否响应式更新? 即查看数据是否有对应get/set方法,数组没有对应get/set方法,故操作数组要通过其封装好的变更方法 变更方法 …

js高级知识汇总一

目录 1.怎么理解闭包? 2.闭包的作用? 3.闭包可能引起的问题? 4.变量提升 5.函数动态参数 6.剩余参数 ...(实际开发中提倡使用) 7.展开运算符 8.箭头函数 9.解构赋值(数组、对象) 10 创…

一文总结动态规划

动态规划 一、背包问题1 问题定义2 问题分类3 解题模板01背包最值问题剩余背包问题 4 例题分析LeetCode1049.最后一块石头的重量II 二、区间动态规划1 解题模板2 例题分析牛客.石子合并 总结与分析 一、背包问题 1 问题定义 如何确定一个题目是否可以用背包问题解决 背包问题…

给儿童使用护眼台灯怎么样选择更好?专家建议孩子买台灯

随着娃越长越大,虽然还在读幼儿园,但平时免不了要写写画画,之前一直在这个桌子上,台灯是一个赠送的LED货色,那个频闪啊,于是趁着当地商场活动先入了张学习桌椅,至于台灯嘛当然要选个好的了&…

21财经专访徐亚波博士:AI恒纪元时代,数说故事踏浪新征途

21世纪经济报道【创业投资】栏目,一直致力于寻找中国最有生命力和创造力的快速成长公司,探秘其背后的新兴资本推动力。为此,数说故事创始人兼CEO徐亚波博士接受了21世纪经济报道的专访。 近年来,大数据产业已经成为推动数字经济发…

【C语言】都玩过三子棋游戏把,但你知道怎么用C语言实现三子棋游戏吗?让我来手把手教你。

三子棋游戏 1.前言2.功能分析2.1主函数设计及菜单设计2.2打印棋盘与棋盘初始化2.3玩家下棋2.4电脑下棋2.5判断输赢 3.game.h头文件展示4.text.c源文件文件展示5.game.c源文件文件展示 所属专栏:C语言 博主首页:初阳785 代码托管:chuyang785 感…

Android 开发中高阶函数的 10 个实例

Android 开发中高阶函数的 10 个实例 Kotlin 是一种现代编程语言,由于其表现力、简洁性和多功能性而变得越来越流行。它的关键特性之一是支持高阶函数,这使您可以编写更简洁、更灵活的代码。高阶函数是一种将一个或多个函数作为参数或返回一个函数作为结…

python+java+nodejs基于vue的企业人事工资管理系统

根据系统功能需求分析,对系统功能的进行设计和分解。功能分解的过程就是一个由抽象到具体的过程。 作为人事数据库系统,其主要实现的功能应包括以下几个模块: 1.登录模块 登录模块是由管理员、员工2种不同身份进行登录。 2.系统管理模块 用户…

工具抓包Charles配置HTTPS步骤

charles抓取HTTPS设置,详细踩坑版 写这篇文章的背景就是,每次我在一台新电脑上用charles抓包时,总是因为各种原因无法抓到https请求,每个百度出来的回答又不是那么详细,需要通过几篇回答才能解决过程中的各种问题&…

C++程序员的职业前景怎么样?来谈谈我自己的想法

我之前提到了程序员在二线城市的大概待遇。今天,我要说一下普通程序员的职业前景。因为最初阶段的工资可能比较高,但如果没有可持续性,这就不是一个特别好的工作。 从我自身的经验来看,我们公司的程序员主要有两条路线。一条是纯…