Linux 服务器作为Nginx web服务器常见优化参数
内核参数调整cat /etc/sysctl.conf# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
fs.file-max = 999999
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.ip_local_port_range = 1024 61000
net.ipv4.tcp_rmem = 4096 32768 262142
net.ipv4.tcp_wmem = 4096 32768 262142
net.core.netdev_max_backlog = 8096
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn.backlog = 1024
file-max:这个参数表示进程(比如一个work进程)可同时打开最大句柄数,这个参数直接限制最大并发连接数,需要根据实际情况配置
tcp_tw_reuse:这个参数设置为1,表示允许将TIME-WAIT状态的socket重新用于新的tcp链接,这个对于服务器而言很有意义,因为服务器上总有大量的TIME-WAIT状态链接
tcp_keepalive_time : 这个参数表示当keepalive启用时,tcp发送keepalive消息的频度。默认2小时。若将其设置的小一些,可以更快清理无效的链接
fin_timeout: 这个参数表示当服务器主动关闭连接时,socket保持在FIN-WAIT-2状态的最大时间
max_tw_buckets: 这个参数表示操作系统允许TIME-WAIT套接字数量的最大值,如果超过这个数字,TIME-WAIT套接字将立刻清除并打印告警信息,该参数默认180000,过多的TIME-WAIT套接字会使服务器变慢
tcp_max_syn.backlog: 这个参数表示tcp三次握手建立阶段收到SYN请求队列的最大长度,默认1024.将其设置的大一些可以使出现Nginx繁忙来不及accept新连接的情况下,Linux不至于丢失客户端发起的连接请求
ip_local_port_range: 这个参数定义了在UDP和TCP连接中本地端口取值范围
net.ipv4.tcp_rmem:定义了TCP接收缓存(tcp接收滑动窗口)的最小值、默认值、最小值
net.ipv4.tcp_wmem : 定义了TCP发送缓存(tcp发送滑动窗口)的最小值、默认值、最小值
netdev_max_backlog: 当网卡接收数据包的速度大于内核处理的速度时,会有一个对列保存这些数据包。这个参数表示该对列的最大值
rmem_default: 这个参数表示内核套接字接收缓存区默认的大小
wmem_default :这个参数表示内核套接字发送缓存区默认的大小
rmam_max:这个参数表示内核套接字接收缓冲区的最大值
wmem_max:这个参数表示内核套接字发送缓冲区的最大值
注意:滑动窗口的大小与套接字缓存区会在一定程度上影响并发连接数目。每个TCP连接都会为维持TCP滑动窗口而消耗内存,这个窗口会根据服务器的处理速度收缩或扩张。参数wmem_max的设置,需要平衡物理内存大小、Nginx并发处理的最大连接数量(由Nginx。conf中的worker_processes和worker_connections参数决定)而确定。当然如果仅仅是为了提高并发量使服务器出现OutOf Memory 问题而去降低滑动窗口大小。那么并不合适,因为滑动窗口过小会影响大数据传输速率。所以rmem_default、wmem_default、rmam_max、wmam_max这4个参数的设置需要根据实际业务特性和实际硬件成本来综合考虑
tcp_syncookies: 该参数与性能无关,用于解决tcp的SYN攻击
Linux 服务器作为Nginx web服务器常见优化参数的更多相关文章
- linux篇之Nginx web服务器简单部署
一.安装部署nginx 1. 部署前先对nginx介绍下别嫌BB: 如果你听说或使用过Apache软件,那么很快就会熟悉Nginx软件,与Apache软件类似, Nginx(“engine x”)是一 ...
- 构建高效安全的Nginx Web服务器
一 为什么选择Nginx搭建Web服务器 Apache和Nginx是目前使用最火的两种Web服务器,Apache出现比Nginx早.Apache HTTP Server(简称Apache)是世界使用排 ...
- 20步打造最安全的NGINX WEB服务器
Nginx 是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器.它运行在UNIX,GNU /linux,BSD 各种版本,Mac OS X,Solaris和Wind ...
- nginx web服务器的安装使用
nginx是一个web服务器(高性能web服务器),类似于apache服务器和iis服务器,由于nginx服务器具有轻量级高并发的特点,目前nginx的使用已经超越了apache. nginx介绍:n ...
- nginx web服务器概念了解 配置
服务器 服务器 服务器是一种提供高效计算的机器,与普通的PC主机相比,具有可观的稳定性,高并发性,可扩展性. 互联网任何一个应用都是以服务器为基础设施的,没有服务器我们就无法访问网络上的任何内容,只能 ...
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...
- 烂泥:Windows下安装与配置Nginx web服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 前几篇文章,我们使用nginx都是在linux环境下,今天由于工作的需要.需要在windows环境也使用nginx搭建web服务器. 下面记录下有关ng ...
- Nginx web 服务器 安装篇
Nginx介绍: 静态web服务器有Nginx .Apache .lighttpd等 目前国内用的最常见的就是Nginx 和Apache 是一个开源的.支持高性能.高并发的www服务和代理服务软件,N ...
- 在 Linux 中安装 Lighttpd Web 服务器
Lighttpd 是一款开源 Web 服务器软件.Lighttpd 安全快速,符合行业标准,适配性强并且针对高配置环境进行了优化.相对于其它的 Web 服务器而言,Lighttpd 占用内存更少:因其 ...
随机推荐
- [CodeIgniter4]故障排除和本地开发服务器
故障排除 以下是一些常见的安装问题,以及建议的解决方法. 我必须在我的URL中包含index.php 如果``/mypage/find/apple``类似的URL``/index.php/mypage ...
- detach() 使用和.detach()和.data的区别 、cpu()函数的作用
detach() 使用和.detach()和.data的区别 .cpu()函数的作用 待办 detach使用 https://blog.csdn.net/qq_27825451/article/det ...
- ASP.NET Razor简介
Razor 不是一种编程语言.它是服务器端的标记语言. 什么是 Razor? Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中. 基于服务器的代 ...
- web前端常用库
项目中可能用到的web前端库(持续记录): 1.轻量化货币库:https://github.com/openexchangerates/accounting.js ,美元形式.欧元形式等 2.时间 ...
- 载 js验证密码 必须由大小写字母、数字和特殊字符组成
转自:https://blog.csdn.net/weixin_43824935/article/details/93601064 密码长度8-16位 必须由大写字母,小写字母,数字,特殊符号组成 正 ...
- OSS上传文件时设置请求头
直接上传: // 如果需要上传时设置存储类型与访问权限,请参考以下示例代码. // ObjectMetadata metadata = new ObjectMetadata(); // metadat ...
- Microsonf visual c++ 14+ 离线内网安装
内网离线安装方法:先下载官方的visualcppbuildtools: <br href=http://go.microsoft.com/fwlink/?LinkId=691126 >& ...
- 第三篇,ajax 和 axios、fetch的区别
1.jQuery ajax $.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: function () ...
- 经常犯的错误之递归写不全return
在写递归函数的时候,只在最后一层写return,中间的过程没有return,导致结果的丢失. 举个例子 LL query(LL i, LL k) { if (sum[i] < k) { ; } ...
- Equalize
You are given two binary strings aa and bb of the same length. You can perform the following two ope ...