windows server 2016调优

1. 增加TCP连接的最大数量:

  1. 在您当前的注册表路径(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters)中的右侧窗格,右击空白处,选择“新建” -> “DWORD (32位) 值”。
  2. 为新的值命名为TcpNumConnections
  3. 双击新创建的TcpNumConnections,在“数值数据”框中设置您想要的最大连接数(例如,00fffffe允许最多16777214个并发连接)。
  4. 点击“确定”。

2. 调整TCP的keep-alive设置:

  1. 在当前路径中的右侧窗格,右击空白处,选择“新建” -> “DWORD (32位) 值”。
  2. 分别为新的值命名为KeepAliveTimeKeepAliveInterval
  3. 双击KeepAliveTime,输入您想要的空闲时间数值。
  4. 同样,双击KeepAliveInterval,输入您想要的心跳频率数值。
  5. 点击“确定”。

完成上述设置后,建议重启服务器以应用更改。

官方描述:

在这里插入图片描述

再次提醒,更改这些设置之前,最好备份当前的注册表设置,并确保您了解这些更改的后果。如果您不确定,最好先在测试环境中进行更改,确保网络性能和连接稳定性不受影响。

好的,我可以提供一些建议的值供您参考。但是,请注意,这些是常见的建议值,具体数值应根据您的实际需要和测试结果进行调整:

1. 增加TCP连接的最大数量:

  • TcpNumConnections: 设置为 00fffffe 可允许最多16777214个并发连接。这是理论上的最大值,但您可能不需要这么多。可以根据您的服务器规模和应用需要来决定。

2. 调整TCP的keep-alive设置:

这些设置主要影响TCP连接的持续性。默认情况下,Windows可能每2小时发送一次keep-alive心跳。如果您的应用需要更快速地检测到断开的连接或保持较短时间的连接,可以考虑调整这些值。

  • KeepAliveTime: 这是在连接变为空闲状态后,发送第一个keep-alive心跳之前等待的时间。建议值可以设置为 60000(即1分钟)。这意味着当连接空闲1分钟后,系统将发送一个keep-alive心跳来检查连接是否仍然有效。

  • KeepAliveInterval: 如果接收到的keep-alive心跳没有响应,这是两次连续keep-alive心跳之间的时间间隔。建议值可以设置为 10000(即10秒)。这意味着如果前一个keep-alive心跳没有得到响应,系统将在10秒后发送下一个心跳。

请记住,这些只是建议的起始值。在生产环境应用这些更改之前,您应该在测试环境中进行验证,确保它们不会对您的应用或服务器性能产生负面影响。如果在应用这些更改后遇到任何问题,您可以随时将这些值恢复到默认设置或进行相应的调整。

KeepAliveIntervalKeepAliveTime 都是与TCP的保持活跃机制(Keep-Alive)有关的参数。

  1. KeepAliveTime:定义了一个TCP连接在空闲状态下持续多长时间后,才开始发送保持活跃的探测包。默认值是7200000毫秒,也就是2小时。这意味着如果在2小时内没有任何数据传输,系统就会发送一个保持活跃的探测包来检查连接是否仍然有效。

  2. KeepAliveInterval:一旦开始发送保持活跃的探测包后,KeepAliveInterval 定义了两次连续探测包之间的时间间隔。默认值是1000毫秒,也就是1秒。

这些值的设定取决于你的具体应用和网络环境。如果你的应用经常遭遇网络连接中断或你想要更快速地检测到网络故障,你可以考虑调整这些值。

例如,如果你希望更频繁地检查连接的健康状态,你可以减少 KeepAliveTime 的值。如果你希望在开始发送保持活跃探测包后,每次探测的间隔时间更长一些,你可以增加 KeepAliveInterval 的值。

建议的步骤如下:

  1. 根据你的应用和网络环境来确定一个合适的 KeepAliveTime。例如,如果你觉得2小时太长,你可以设置为30分钟(1800000毫秒)。
  2. 为了避免频繁地发送探测包,你可以将 KeepAliveInterval 设置为比默认值更大的值,例如5秒(5000毫秒)。

但请注意,任何更改都可能会对网络性能产生影响,因此在进行任何调整之前,建议你先在一个测试环境中进行测试,观察效果后再决定是否应用到生产环境中。


例子:

想象您与一个朋友通过无线对讲机进行通信,但是因为各种原因(如干扰或距离太远),您不确定是否始终可以收到对方的信号。为了确保彼此的连接还在,您们约定了一个机制:如果在一个时间段内没有听到对方的声音,你们就会互相询问“你还在吗?”以确保连接仍然存在。

  1. KeepAliveTime 就像这个时间段。例如,你们约定如果在2小时内没有任何交流,就开始询问“你还在吗?”。这就是默认的7200000毫秒(2小时)。

  2. KeepAliveInterval 是询问的间隔。例如,开始询问“你还在吗?”后,如果5分钟内没有回应,你们就再次询问。这就像默认的1000毫秒(1秒)。

为了适应不同的情况,您可能需要更改这些时间。例如:

  • 如果您认为2小时等待太长,想更快地检查连接,您可以将 KeepAliveTime 设置为30分钟。这意味着,如果在30分钟内没有交流,你就开始询问“你还在吗?”。

  • 如果您认为每1秒询问一次太频繁,您可以将 KeepAliveInterval 设置为5分钟。这意味着,在开始询问“你还在吗?”后,如果在5分钟内没有回应,你就再次询问。

希望这个例子可以帮助您更好地理解这两个参数的作用。

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

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

相关文章

thinkphp的路径参数(RESTFul风格),把参数写在路径里

thinkphp官方文档 https://www.kancloud.cn/manual/thinkphp5_1/353969 有一个Blog控制器,里面的read方法是固定的,不能该 route.php里添加如下代码,访问 blog对应的就是 android/blog Route::resource(blog,android/blog);然后访问路径

windows使用YOLOv8训练自己的模型(0基础保姆级教学)

目录 前言 一、使用labelimg制作数据集 1.1、下载labelimg 1.2、安装库并启动labelimg 1.4、制作YOLO数据集 二、使用YOLOv8训练模型 2.1、下载库——ultralytics (记得换源) 2.2、数据模板下载 2.3、开始训练 1、启动train.py,进行…

QT+SQLite数据库配置和使用

一、简介 1.1 SQLite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。Qt5以上版本可以直接使用SQLite(Qt自带驱动)。 二、下载和配置 2.1 SQLite下载…

GitLab(2)——Docker方式安装Gitlab

目录 一、前言 二、安装Gitlab 1. 搜索gitlab-ce镜像 2. 下载镜像 3. 查看镜像 4. 提前创建挂载数据卷 5. 运行镜像 三、配置Gitlab文件 1. 配置容器中的/etc/gitlab/gitlab.rb文件 2. 重启容器 3. 登录Gitalb ① 查看初始root用户的密码 ② 访问gitlab地址&#…

微信小程序-form表单-获取用户输入文本框的值

微信小程序-form表单-获取用户输入文本框的值 data: {userName: ,userPwd:""},//获取用户输入的用户名 userNameInput:function(e) {this.setData({userName: e.detail.value}) }, passWdInput:function(e) {this.setData({userPwd: e.detail.value}) }, //获取用户输…

Java后端开发——JDBC组件

JDBC(Java Database Connectivity)是Java SE平台的一种标准API,它提供了一种标准的方法来访问关系型数据库,使得Java程序能够与各种不同的数据库进行交互,这篇文章我们来进行实验体验一下。 自定义JDBC连接工具类 1.编…

【IDEA使用maven package时,出现依赖不存在以及无法从仓库获取本地依赖的问题】

Install Parent project C:\Users\lxh\.jdks\corretto-1.8.0_362\bin\java.exe -Dmaven.multiModuleProjectDirectoryD:\学习\projectFile\study\study_example_service "-Dmaven.homeD:\Program Files\JetBrains\IntelliJ IDEA2021\plugins\maven\lib\maven3" "…

操作系统的线程模型

操作系统的线程调度有几个重要的概念: 调度器(Thread Scheduler):内核通过操纵调度器对内核线程进行调度,并负责将线程的任务映射到各个处理器上内核线程(Kernel Level Thread):简称…

【GitLab CI/CD、SpringBoot、Docker】GitLab CI/CD 部署SpringBoot应用,部署方式Docker

介绍 本文件主要介绍如何将SpringBoot应用使用Docker方式部署,并用Gitlab CI/CD进行构建和部署。 环境准备 已安装Gitlab仓库已安装Gitlab Runner,并已注册到Gitlab和已实现基础的CI/CD使用创建Docker Hub仓库,教程中使用的是阿里云的Docker…

100量子比特启动实用化算力标准!玻色量子重磅发布相干光量子计算机

2023年5月16日,北京玻色量子科技有限公司(以下简称“玻色量子”)在北京正大中心成功召开了2023年首场新品发布会,重磅发布了自研100量子比特相干光量子计算机——“天工量子大脑”。 就在3个月前,因“天工量子大脑”在…

【Orangepi Zero2 全志H616】资料及环境搭建

一、资料文档 二、MobaXterm远程连接工具 三、修改登录密码 四、修改内核日志等级 五、配置网络 六、SSH 访问 OrangePi ZERO 2 七、配置 vim 八、基于官方外设开发SDK 一、资料文档 官网资料下载 GitHub:新版本的 orangepi-build 源码 环境搭建:新手配…

vue+asp.net Web api前后端分离项目发布部署

一、前后端项目介绍 1.前端项目是使用vue脚手架进行创建的。 脚手架版本:vue/cli 5.0.8 编译器版本:vs code 1.82.2 2.后端是一个asp.net Core Web API 项目 后端框架版本:.NET 6.0 编译器版本:vs 2022 二、发布部署步骤 第…

安卓抓包之小黄鸟

下载安装 下载地址: https://download.csdn.net/download/yijianxiangde100/88496463 安装apk 即可。 证书配置:

【嵌入式】HC32F07X CAN通讯配置和使用配置不同缓冲器以连续发送

一 背景说明 使用小华(华大)的MCU HC32F07X实现 CAN 通讯配置和使用 二 原理分析 【1】CAN原理说明(参考文章《CAN通信详解》): CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现…

HTML基础知识——URL、文本标签、链接标签、图片标签、列表标签

目录 URL(统一资源定位符) 概述 网址的组成部分 协议 主机 端口 路径 查询参数 锚点 文本标签 示例: 链接标签 示例: 图片标签 示例: 列表标签 示例: URL(统一资源定位符)…

玩转AIGC:如何选择最佳的Prompt提示词?

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

周赛369(位运算、分类讨论、记忆化搜索==>动态规划、树形DP)

文章目录 周赛369[2917. 找出数组中的 K-or 值](https://leetcode.cn/problems/find-the-k-or-of-an-array/)位运算模拟 [2918. 数组的最小相等和](https://leetcode.cn/problems/minimum-equal-sum-of-two-arrays-after-replacing-zeros/)分类讨论 [2919. 使数组变美的最小增量…

docker部署MySQL服务

部署 MySQL8.0.35社区版 1.下载镜像 docker pull container-registry.oracle.com/mysql/community-server:8.0.35 查看镜像 docker images 2. 启动MySQL服务器实例 docker run --namemysql8 --restart on-failure -p 3309:3306 -d container-registry.oracle.com/mysql/comm…

探索C++中的不变之美:const与构造函数的深度剖析

W...Y的主页😊 代码仓库分享💕 🍔前言: 关于C的博客中,我们已经了解了六个默认函数中的四个,分别是构造函数、析构函数、拷贝构造函数以及函数的重载。但是这些函数都是有返回值与参数的。提到参数与返回…

零日漏洞预防

零日漏洞,是软件应用程序或操作系统(OS)中的意外安全漏洞,负责修复该漏洞的一方或供应商不知道该漏洞,它们仍然未被披露和修补,为攻击者留下了漏洞,而公众仍然没有意识到风险。 零日攻击是如何…