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://www.mzph.cn/web/8930.shtml

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

相关文章

企业外贸邮箱有哪些?国内五大外贸邮箱排行榜

外贸公司在进行跨国业务的时候,需要一个稳定安全的企业邮箱。国内的企业外贸邮箱提供商有很多,目前排行在前五的有Zoho Mail企业邮箱、阿里企业邮箱、网易企业邮箱、腾讯企业邮箱、新浪企业邮箱,今天我们就来详细了解下这些邮箱产品。 一、Z…

【yolov8 项目打包】pyinstaller 打包pyQt5 界面为exe

创建一篇博客文章,介绍如何使用PyInstaller将PyQt5界面打包为exe文件,并且处理与YOLOv8模型相关的文件,可以按照以下结构进行: 标题:使用PyInstaller将PyQt5界面与YOLOv8模型打包为Windows可执行文件 引言 在机器学习…

Unity Material(材质)、Texture(纹理)、Shader(着色器)简介

文章目录 一、概念二、Rendering Mode三、Main Maps三、参考文章 一、概念 Material(材质):物体的“色彩”、“纹理”、“光滑度”、“透明度”、“反射率”、“折射率”、“发光度”等,材质的本质是shader的实例(载体)Texture(贴图):附件到…

Python通过定义类实现增删改查(期末考试)

python高级编程期末测试 别看我挣的少,但是我省的多,昨天法拉利又省下两百多万。 一、通过创建自己类来实现增删改查 我们已经利用模型实现单表的增删改查了 现在 我们不想使用模型来操作数据库 我们可以自己定义模型 那么 如何通过自己创建的类实现增…

计算机SCI期刊,IF=9.657,1区TOP,2周内出版!

一、期刊名称 Neural Networks 二、期刊简介概况 期刊类型:SCI 学科领域:计算机科学 影响因子:7.8 中科院分区:1区TOP 出版方式:订阅模式/开放出版 版面费:选择开放出版需支付$3350 三、期刊简介 神…

美国原装二手keysight86122c安捷伦86122C波长计

是德KEYSIGHT 86122C 波长计 主要功能和规格 特征: 增强型,稳定的HeNe参考激光器,使用寿命更长 包括五年保修,涵盖整个仪器,所有零件 绝对波长精度:0.2 ppm 差分波长精度:0.15 ppm 不到0.…

Springboot+vue项目影城管理系统

摘 要 本论文主要论述了如何使用JAVA语言开发一个影城管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述影城管理系统的当前背景以及系统开发的目的&…

正点原子Linux学习笔记(六)在 LCD 上显示 jpeg 图像

在 LCD 上显示 jpeg 图像 20.1 JPEG 简介20.2 libjpeg 简介20.3 libjpeg 移植下载源码包编译源码安装目录下的文件夹介绍移植到开发板 20.4 libjpeg 使用说明错误处理创建解码对象设置数据源读取 jpeg 文件的头信息设置解码处理参数开始解码读取数据结束解码释放/销毁解码对象 …

【动态规划】子数组、子串系列I|最大子数组和|环形子数组的最大和|乘积最大子数组|乘积为正数的最长子数组长度

一、最大子数组和 最大子数组和 算法原理: 💡细节: 1.返回值为dp表每个位置的最大值,而不是只看最后一个位置,因为可能最后一个位置都不选 2.可以直接在填dp表的时候就进行返回值的比较 3.如果初始化选择多开一个位…

2024最新版JavaScript逆向爬虫教程-------基础篇之无限debugger的原理与绕过

目录 一、无限debugger的原理与绕过1.1 案例介绍1.2 实现原理1.3 绕过debugger方法1.3.1 禁用所有断点1.3.2 禁用局部断点1.3.3 替换文件1.3.4 函数置空与hook 二、补充2.1 改写JavaScript文件2.2 浏览器开发者工具中出现的VM开头的JS文件是什么? 一、无限debugger的…

520送男士内裤给男朋友好吗?五大男士内裤测评种草

相信有很多朋友都选在520这个特殊的日子里为心爱的人挑选一份特别的礼物吧!如果送礼给男朋友或老公,一份实用的礼物肯定是最佳选择哦!很多男性朋友每条内裤都穿很久,如果给男朋友挑选合适的男士内裤,也是一种关心体贴的…

[华为OD]BFS C卷 200 智能驾驶

题目: 有一辆汽车需要从m*n的地图的左上角(起点)开往地图的右下角(终点),去往每一个地区都需 要消耗一定的油量,加油站可进行加油 请你计算汽车确保从起点到达终点时所需的最少初始油量说明: (1)智能汽车可以上下左右四个方向…

C++ 复习2 输入输出 基本数据类型

输入输出 标准输出流 ( cout ) cout 代表标准输出流&#xff0c;通常用于向屏幕输出数据。 使用操作符 << &#xff08;插入操作符&#xff09;向 cout 发送数据。 例如&#xff0c; std::cout << "Hello, world!" << std::endl; 会在屏幕上打印 …

本地搭建AI环境

本地搭建AI 这几天刚刚看到好兄弟分享的一段关于本地搭建AI的短视频&#xff0c;于是我按照视频里的讲解&#xff0c;进行了实践。感觉非常棒&#xff01;&#xff01;&#xff0c;马上整理成文字与大家分享一下。 在本地启动并运行大型语言模型&#xff0c;运行llama3、phi3…

自然语言处理(NLP)技术有哪些运用?

目录 一、自然语言处理&#xff08;NLP&#xff09;技术有哪些运用&#xff1f; 二、Python进行文本的情感分析 1、NLTK库: 2、TextBlob库: 三、错误排除 一、自然语言处理&#xff08;NLP&#xff09;技术有哪些运用&#xff1f; 自然语言处理&#xff08;NLP&#xff09…

区块链 | NFT 水印:Review on Watermarking Techniques(一)

&#x1f34d;原文&#xff1a;Review on Watermarking Techniques Aiming Authentication of Digital Image Artistic Works Minted as NFTs into Blockchains 1 应用于 NFT 的水印技术 常见的水印技术类型可以分为&#xff1a; 可见 v i s i b l e \mathsf{visible} visi…

循环神经网络(RNN)

大家好&#xff0c;这里是七七&#xff0c;这两天在写关于神经网络相关的知识&#xff0c;面对的是有一定基础的读者哦。 一、RNN核心思想 RNN的核心思想就是曾经的输入造成的影响&#xff0c;会以致影响之后的输入&#xff0c;即隐含层的输出取决于历史数据的全部输入。 三个…

Infuse for Mac激活版:高清影音播放软件

对于热爱影音娱乐的Mac用户来说&#xff0c;Infuse for Mac是一个不容错过的选择。它以其简洁的操作界面和强大的播放功能&#xff0c;为用户带来了全新的影音播放体验。 Infuse for Mac支持广泛的音视频格式&#xff0c;无需额外转换&#xff0c;即可轻松播放您喜爱的影片。无…

Mybatis Plus二级缓存 使用@CacheNamespace 失效@CacheNamespace和@CacheNamespaceRef

1、注解 CacheNamespace(flushInterval 100000,eviction LruCache.class,readWrite false,size 1024)2、xml配置 <cache eviction "LRU" flushInterval "100000" readOnly "true" size "1024"/> 二级缓存&#xff0c;配置文…

【Linux 性能详解】CPU性能分析工具篇

目录 uptime mpstat 实时监控 查看特定CPU核心 pidstart 监控指定进程 组合多个监控类型 监控线程资源 按用户过滤进程 vmstart 用途 基本用法 输出字段 perf execsnoop dstat 通俗解释 技术层面解释 使用示例 总结 uptime uptime 是一个在 Linux 和 Unix…