nginx--系统参数优化telenct

系统参数

在生产环境中,根据自己的需求在/etc/sysctl.conf来更改内核参数

net.ipv4.ip_nonlocal_bind = 1 允许非本地IP地址socket监听

net.ipv4.ip_forward = 1 开启IPv4转发
net.ipv4.tcp_timestamps = 0 是否开启数据包时间戳
net.ipv4.tcp_tw_reuse = 0 端⼝口复⽤用
net.ipv4.tcp_tw_recycle = 0 快速回收TIME_WAIT状态,用于大量量TIME_OUT场景

fs.file-max = 1000000 表示单个进程较大可以打开的句柄数

net.ipv4.tcp_tw_reuse = 1参数设置为 1 ,表示允许将TIME_WAIT状态的socket重新用于新的TCP链接,这对于服务器来说意义重⼤,因为总有大量TIME_WAIT状态的链接存在

net.ipv4.tcp_keepalive_time = 600 当keepalive启动时,TCP发送keepalive消息的频度;默认是2小时,将其设置为10分钟,可更快的清理无效链接

net.ipv4.tcp_fin_timeout = 30 当服务器主动关闭链接时,socket保持在FIN_WAIT_2状态的较大时间
net.ipv4.tcp_max_tw_buckets = 5000 表示操作系统允许TIME_WAIT套接字数量的较大值,如超过此值,TIME_WAIT套接字将⽴刻被清除并打印警告信息,默认为8000,过多的TIME_WAIT套接字会使Web服务器变慢
net.ipv4.ip_local_port_range = 1024 65000 定义UDP和TCP链接的本地端口的取值范围
net.ipv4.tcp_rmem = 10240 87380 12582912 定义了TCP接受socket请求缓存的内存最值、默认值、较⼤大值
net.ipv4.tcp_wmem = 10240 87380 12582912 定义TCP发送缓存的最小值、默认值、较大值
net.core.netdev_max_backlog = 8096 当网卡接收数据包的速度大于内核处理速度时,会有一个列队保存这些数据包。这个参数表示该列队的较大值

 根据业务逻辑和实际的硬件成本来综合考虑:

net.core.rmem_default = 6291456 表示内核套接字接受缓存区默认大小
net.core.wmem_default = 6291456 表示内核套接字发送缓存区默认大小
net.core.rmem_max = 12582912  表示内核套接字接受缓存区较大大小
net.core.wmem_max = 12582912 表示内核套接字发送缓存区较大大小

 net.ipv4.tcp_syncookies = 1 与性能无关。用于解决TCP的SYN攻击
net.ipv4.tcp_max_syn_backlog = 8192 这个参数表示TCP三次握手建立阶段接受SYN请求列列队的较大长度,默认1024,将其设置的大一些可使出现Nginx繁忙来不及accept新连时,Linux不至于丢失客户端发起的链接请求
net.ipv4.tcp_tw_recycle = 1   这个参数用于设置启用timewait快速回收
net.core.somaxconn=262114 选项默认值是128,这个参数用于调节系统同时发起的TCP连接数,在高并发的请求中,默认的值可能会导致链接超时或者重传,因此需要结合高并发请求数来调节此值。
net.ipv4.tcp_max_orphans=262114 选项用于设定系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,孤立链接将立即被复位并输出警告信息。这个限制指示为了防止简单的DOS攻击,不用过分依靠这个限制甚至认为的减小这个值,更多的情况是增加这个值

 telenct

The Tengine Web Server

关闭nginx,下载tengine源码并使⽤用nginx参编译安装,tengine与nginx版本不一致会导致编译参数不通用

 动态模块

  • 这个模块主要是用来运行时动态加载模块,而不用每次都要重新编译Tengine.

  • 如果你想要编译官方模块为动态模块,你需要在configure的时候加上类似这样的指令(--with-http_xxx_module),./configure --help可以看到更多的细节.

  • 如果只想要安装官方模块为动态模块(不安装Nginx),那么就只需要configure之后,执行 make dso_install命令.

  • 动态加载模块的个数限制为128个.

  • 如果已经加载的动态模块有修改,那么必须重起Tengine才会生效.

  • 只支持HTTP模块.

  • 模块 在Linux/FreeeBSD/MacOS下测试成功.

worker_processes  1;dso {load ngx_http_lua_module.so;load ngx_http_memcached_module.so;
}events {worker_connections  1024;
}

 安装

cd /usr/local/src
wget https://tengine.taobao.org/download/tengine-3.1.0.tar.gz
tar -zxvf tengine-3.1.0.tar.gz
cd tengine-3.1.0
./configure  --prefix=/apps/tengine-3.1.0 --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_modul
make && make install
/apps/tengine-3.1.0/sbin/nginx 

 安装编译lua和concat

concat

yum install lua lua-devel

./configure --prefix=/apps/tengine \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_v2_module \
  --with-http_realip_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --with-pcre \
  --with-file-aio \
  --with-ipv6 \
  --with-http_lua_module=shared \
  --with-http_concat_module=shared

make && make dso_install

 添加模块

dso {
    load ngx_http_lua_module.so;
    load ngx_http_memcached_module.so;
}

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

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

相关文章

idea2023专业版安装破解+maven配置教程

前言 上一篇文章已经介绍了maven在Win10系统的安装配置教程。基于Win10的maven配置环境,本篇文章将介绍idea2023的安装破解教程及maven在idea2023的配置教程(同时会将maven在idea2023的配置教程内容补充至上一篇文章)。 一、idea2023下载安…

Java零拷贝技术实战

文章目录 引入传统IO内存映射mmap文件描述符sendFile测试总结 引入 为什么要使用零拷贝技术? 传统写入数据需要4次拷贝,如下图: 传统IO import java.io.*; import java.net.Socket;public class TranditionIOClient {private static fina…

sh包装脚本

两个脚本,运行的时间间隔分别是一分钟和五分钟,放入到sh文件中,挂在后代,脚本里面的路径最好是绝对路径。 新建sh文件 新建 run_test.sh 文件,使其可以运行两个不同的 Python 脚本,一个每分钟运行一次,另一个每五分钟运行一次。下面是修改后的 run_test.sh 文件的示例:…

机器学习:人工智能中实现自动化决策与精细优化的核心驱动力

🔒文章目录: 💥1.概述 ❤️2.机器学习基本原理 🛤️2.1定义与关键概念 🛣️2.2 机器学习算法 ☔3.自动化决策中的机器学习应用 🚲4.精细优化与机器学习的结合 👊5.挑战与前景 💥1.概述 …

【WEB前端2024】简单几步制作web3d《萌宠星球》智体节点模板(2)

【WEB前端2024】简单几步制作web3d《萌宠星球》智体节点模板(2) 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体…

21 使用Hadoop Java API读取序列化文件

在上一个实验中我们筛选了竞赛网站日志数据中2021/1和2021/2的数据以序列化的形式写到了hdfs上。 接下来我们使用Java API 读取序列化的数据保存到磁盘中。 其他命令操作请参考:16 Java API操作HDFS-CSDN博客 1.我直接在上一个项目中test/java目录下创建com.maidu.s…

鸿蒙 Next 模拟器 体验

参加华为社区相关Next 的活动,只要申请通过就可以下载模拟器。整个过程稍微慢些,大家可以根据活动相关信息,加入微信群。跟踪催促进度。争取早日体验 next 。 目前模拟器里边还是空空的,没有什么内置 APP ,但是足够大…

net7部署经历

1、linux安装dotnet命令: sudo yum install dotnet-sdk-7.0 或者直接在商店里安装 2、配置反向代理 127.0.0.1:5000》localhost 访问后报错 原因:数据表驼峰名, 在windows的数据表不区分大小写,但是在linux里面是默认区分的&…

【xxl-job | 第三篇】SpringBoot整合xxl-job

文章目录 3.SpringBoot整合xxl-job3.1定时任务服务配置3.1.1导入maven依赖3.1.2yml配置3.1.3XxlJobConfig配置类3.1.4定时任务类 3.2xxl-job配置3.2.1新增执行器3.2.2新增任务3.2.3执行任务3.2.4查看日志3.2.5查看任务后台日志 3.3小结 3.SpringBoot整合xxl-job 3.1定时任务服…

第一个C++项目

文章目录 一、新建项目1.打开软件,选择“创建新项目”2.新建项目栏中,按自己的需求来设置项目模板,项目名称和文件存放位置,设置好后点击“确认”3. 点击“Next”4. 按照自己需求设置,设置完后,点击“Next”…

【数据治理】指标体系

文章目录 1. 如何进行体系化建模2. 高层模型设计3. 派生指标3.1 派生指标体系的架构、概念一种可行的指标构造方式:举例: 3.2 派生指标体系的规范细则 1. 如何进行体系化建模 体系化建模流程图: 指标相关设计流程: 首先&#x…

基于大数据+Hadoop的豆瓣电子图书推荐系统实现

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 系列文章目录 基于大数…

手动实现简易版RPC(四)

手动实现简易版RPC(四) 往期内容 手动实现简易版RPC(一):RPC简介及系统架构 手动实现简易版RPC(二):简单RPC框架实现 手动实现简易版RPC(三):mock数据生成 前言 接上几篇博客我们实现了最…

便签怎么设置不同的标签 便签创建不同分组标签的方法

在日常工作和生活中,便签已成为我随身携带的小助手。每当灵感闪现,或是需要临时记录一些重要事项,我都会随手打开便签,快速记录下来。然而,随着记录的内容越来越多,如何高效地管理和查找这些信息成为了一个…

联丰策略股票炒股市场港股恒生指数止步“10连阳”

查查配港股市场今日未能持续之前的上涨趋势。恒生指数在经历了4月22日至5月6日的“十日连阳”罕见行情后,其反弹动能有所减弱。与此同时,恒生科技指数也遭遇了回调。截至收盘,恒生指数跌0.53%,报收18479.37点;科技指数跌2.13%,报收3922.54点;国企指数跌0.70%,报收6526.67点。 …

【保姆级详细步骤教学用DOSBoxV0.74写出一个汇编语言程序输出Hello World!】

使用任何文本编辑器创建一个名为 HELLO.ASM 的文件,并将以下代码粘贴到文件中: .MODEL SMALL .STACK 100H.DATAMSG DB Hello, World!, $PROMPT DB 13, 10, Press any key to exit..., $.CODEMAIN PROCMOV AX, DATAMOV DS, AXMOV AH, 09HLEA DX, MSGINT …

R语言【Tidyverse、Tidymodel】机器学习

机器学习已经成为继理论、实验和数值计算之后的科研“第四范式”,是发现新规律,总结和分析实验结果的利器。机器学习涉及的理论和方法繁多,编程相当复杂,一直是阻碍机器学习大范围应用的主要困难之一,由此诞生了Python…

2024最详细全面的发卡平台对比调研

最近在调研目前市面上的发卡平台,对一些主流的托管式发卡平台与github上开源的发卡项目做了横向对比,本文主要介绍各自特点以及需要注意避免的坑。 直接上表格,一目了然。 对比独角数卡***发卡/泛发卡平台iDataRiver发卡稳定性/跑路风险自己…

双层胶工艺是什么?

知 识星球(星球名: 芯片制造与封测社区,星球号: 63559049)里的学员问: 什么是双层胶工艺? 为什么要用双层胶呢? 本图由allresist公司提供,特此鸣谢 为什么要涂双层…

【机器学习与实现】线性回归示例——波士顿房价分析

目录 一、创建Pandas对象并查看数据的基本情况二、使用皮尔逊相关系数分析特征之间的相关性三、可视化不同特征与因变量MEDV(房价中值)间的相关性四、划分训练集和测试集并进行回归分析 一、创建Pandas对象并查看数据的基本情况 boston.csv数据集下载&a…