网站托管../重庆seo技术分享

网站托管..,重庆seo技术分享,获取网站访问量,京东商家入驻入口官网业务上要求集群提供10w并发,10w并发听上去不是很难,但10w并发持续1小时呢 在业务上线之前还需要我们自己对业务进行压测,俗称benchmark。 压测的服务器也是需要进行性能调优的,以下列出调优前后的参数对比,更直观的分析…

业务上要求集群提供10w+并发,10w+并发听上去不是很难,但10w并发持续1小时呢
在业务上线之前还需要我们自己对业务进行压测,俗称benchmark。
压测的服务器也是需要进行性能调优的,以下列出调优前后的参数对比,更直观的分析和感受参数对程序的影响

压测前内核参数自检

#!/bin/bash
# 脚本名称: check_benchmark_server_kernel_params.sh
# 描述: 查询压测服务武相关的Linux内核参数的当前值# 输出格式化函数
print_header() {echo -e "\n\033[1;34m$1\033[0m"echo "--------------------------------"
}# 文件描述符和端口范围
print_header "文件描述符和端口范围"
sysctl fs.file-max
sysctl fs.nr_open
sysctl net.ipv4.ip_local_port_range# TCP连接建立和释放
print_header "TCP连接建立和释放"
sysctl net.ipv4.tcp_max_syn_backlog
sysctl net.core.somaxconn
sysctl net.ipv4.tcp_fin_timeout
sysctl net.ipv4.tcp_syncookies
sysctl net.ipv4.tcp_fastopen 2>/dev/null || echo "net.ipv4.tcp_fastopen: [不支持]"
sysctl net.ipv4.tcp_synack_retries
sysctl net.ipv4.tcp_syn_retries
sysctl net.ipv4.tcp_tw_reuse# TCP连接保持和超时
print_header "TCP连接保持和超时"
sysctl net.ipv4.tcp_keepalive_time
sysctl net.ipv4.tcp_keepalive_intvl
sysctl net.ipv4.tcp_keepalive_probes
sysctl net.ipv4.tcp_max_tw_buckets# 内存和缓冲区设置
print_header "内存和缓冲区设置"
sysctl net.core.wmem_max
sysctl net.core.rmem_max
sysctl net.ipv4.tcp_rmem
sysctl net.ipv4.tcp_wmem
sysctl net.core.optmem_max 2>/dev/null || echo "net.core.optmem_max: [不支持]"# 网络性能和拥塞控制
print_header "网络性能和拥塞控制"
sysctl net.core.netdev_max_backlog
sysctl net.ipv4.tcp_slow_start_after_idle 2>/dev/null || echo "net.ipv4.tcp_slow_start_after_idle: [不支持]"
sysctl net.ipv4.tcp_mtu_probing
sysctl net.ipv4.tcp_sack
sysctl net.ipv4.tcp_window_scaling
sysctl net.ipv4.tcp_adv_win_scale 2>/dev/null || echo "net.ipv4.tcp_adv_win_scale: [不支持]"
sysctl net.ipv4.tcp_rfc1337 2>/dev/null || echo "net.ipv4.tcp_rfc1337: [不支持]"
sysctl net.ipv4.tcp_congestion_control# 连接跟踪相关
print_header "连接跟踪相关"
sysctl net.netfilter.nf_conntrack_max 2>/dev/null || echo "net.netfilter.nf_conntrack_max: [未加载conntrack模块]"
sysctl net.netfilter.nf_conntrack_tcp_timeout_established 2>/dev/null || echo "net.netfilter.nf_conntrack_tcp_timeout_established: [未加载conntrack模块]"
sysctl net.netfilter.nf_conntrack_tcp_timeout_time_wait 2>/dev/null || echo "net.netfilter.nf_conntrack_tcp_timeout_time_wait: [未加载conntrack模块]"
sysctl net.ipv4.conf.all.rp_filter# 其他系统限制
print_header "其他系统限制"
sysctl vm.swappiness
sysctl vm.max_map_count
sysctl kernel.panic 2>/dev/null || echo "kernel.panic: [不支持]"echo -e "\n脚本执行完毕。请将输出结果保存以便与优化参数进行对比。"

参数修改前后对比表格

压测客户端内核参数与默认值对比表

此表格展示了Linux系统默认内核参数值与已优化的压测客户端参数值的对比。

文件描述符和端口范围

参数默认值优化值变化比例影响
fs.file-max~65536200000030.5倍大幅提高系统可打开的文件描述符总数
fs.nr_open104857620000001.9倍提高单个进程可打开的文件描述符数量

TCP连接建立和释放

参数默认值优化值变化比例影响
net.ipv4.tcp_synack_retries5180%减少减少服务端响应SYN+ACK的重试次数
net.ipv4.tcp_max_syn_backlog10246553664倍极大提高SYN半连接队列容量
net.core.somaxconn12810485768192倍极大提高已完成连接队列容量
net.ipv4.tcp_fin_timeout601575%减少大幅加速FIN_WAIT连接的释放

TCP连接保持和超时

参数默认值优化值变化比例影响
net.ipv4.tcp_keepalive_time72006099%减少极大减少检测失效连接的等待时间
net.ipv4.tcp_keepalive_intvl753060%减少加速keepalive探测间隔
net.ipv4.tcp_keepalive_probes9367%减少减少确认连接失效前的探测次数

内存和缓冲区设置

参数默认值优化值变化比例影响
net.core.wmem_max2129921258291259倍极大提高写缓冲区上限
net.core.rmem_max2129921258291259倍极大提高读缓冲区上限
net.ipv4.tcp_rmem4096 87380 629145610240 87380 12582912最大值增加2倍提高TCP读缓冲区最大值
net.ipv4.tcp_wmem4096 16384 419430410240 87380 12582912最大值增加3倍提高TCP写缓冲区最大值
kernel.msgmnb655361310722倍提高消息队列的最大字节数
kernel.msgmax655361310722倍提高单个消息的最大字节数

网络性能和拥塞控制

参数默认值优化值变化比例影响
net.core.netdev_max_backlog10006553665.5倍极大提高网络设备接收队列容量
net.ipv4.tcp_max_tw_buckets18000014400008倍大幅提高TIME_WAIT状态连接的容量
net.ipv4.tcp_slow_start_after_idle10禁用防止空闲连接重启时的性能下降
net.ipv4.tcp_mtu_probing01启用提高网络路径MTU探测能力

其他系统限制

参数默认值优化值变化比例影响
vm.swappiness601083%减少大幅减少内存交换倾向
vm.max_map_count655302621444倍提高内存映射区域数量上限

参数应用

应用方法
将需要修改的参数添加到 /etc/sysctl.conf 文件或 /etc/sysctl.d/ 目录下的配置文件中,例如创建 /etc/sysctl.d/99-performance.conf,然后执行以下命令使其生效:
sudo sysctl -p /etc/sysctl.d/99-performance.conf
配置文件示例
以下是一个配置文件示例,只包含需要修改的参数:

# 文件描述符和端口范围
fs.file-max = 2000000
fs.nr_open = 2000000
net.ipv4.ip_local_port_range = 1024 65535# TCP连接建立和释放
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_max_syn_backlog = 65536
net.core.somaxconn = 1048576
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1# TCP连接保持和超时
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3# 内存和缓冲区设置
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 87380 16777216
kernel.msgmnb = 131072
kernel.msgmax = 131072
net.ipv4.tcp_mem = 786432 1048576 1572864# 网络性能和拥塞控制
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_tw_buckets = 1440000
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_notsent_lowat = 16384# 其他系统限制
vm.swappiness = 10
vm.max_map_count = 262144

ulimit调整

还需要调优ulimit数量,一般情况下都设置为65535,这里我的服务器基础性能高,所以给更大

vim /etc/security/limits.conf
# End of file
*               soft    nofile          1000000
*               hard    nofile          1000000
root            soft    nofile          1000000
root            hard    nofile          1000000

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

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

相关文章

html5制作2048游戏开发心得与技术分享

2048游戏开发心得与技术分享 这里写目录标题 2048游戏开发心得与技术分享项目概述技术架构1. 核心技术栈2. 项目结构 核心功能实现1. 数据结构设计2. 移动逻辑实现3. 触摸支持 性能优化1. DOM操作优化2. 事件处理优化 开发心得1. 代码组织2. 调试技巧3. 用户体验优化 项目亮点技…

docker的anythingllm和open-webui压缩包分享(国内镜像拉取,百度云压缩包分享)

文章目录 前言第一部分:镜像获取🚀 方式一:切换国内下载镜像✅1. 下载anythingllm✅ 2. 下载open-webui 🚀方式二:下载我分享的百度云✅ anythingllm压缩包百度云链接❎ open-webui压缩包 第二部分:下载之后…

DeepSeek-R1深度解读

deepseek提出了一种通过强化学习(RL)激励大语言模型(LLMs)推理能力的方法,个人认为最让人兴奋的点是:通过RL发现了一个叫“Aha Moment”的现象,这个时刻发生在模型的中间版本中。在这个阶段&…

封装一个分割线组件

最终样式 Vue2代码 <template><div class"sep-line"><div class"sep-label"><span class"sep-box-text"><slot>{{ title }}</slot> <!-- 默认插槽内容&#xff0c;如果没有传递内容则使用title -->&…

Redis基本命令手册——五大类型

目录 一&#xff1a;基本操作 二&#xff1a;字符串&#xff08;String&#xff09; 三&#xff1a;哈希&#xff08;Hash) 四&#xff1a;列表&#xff08;List&#xff09; 五&#xff1a;集合&#xff08;Set&#xff09; 六&#xff1a;有序集合&#xff08;Zset&…

【C++】动态规划从入门到精通

一、动态规划基础概念详解 什么是动态规划 动态规划&#xff08;Dynamic Programming&#xff0c;DP&#xff09;是一种通过将复杂问题分解为重叠子问题&#xff0c;并存储子问题解以避免重复计算的优化算法。它适用于具有以下两个关键性质的问题&#xff1a; 最优子结构&…

Qt动态设置样式,实现样式实时切换

文章目录 概要插件实现界面 核心代码设置样式 扩展导入样式导出样式 概要 最近需要设计界面&#xff0c;但是使用Qt的Designer只能看到每个界面单独的样式&#xff0c;程序中有些事需要主界面调用进行组合的界面&#xff0c;因此需要写一个插件Ui可以直接输入样式内容&#xf…

集成学习之随机森林

目录 一、集成学习的含义 二、集成学习的代表 三、集成学习的应用 1、分类问题集成。&#xff08;基学习器是分类模型&#xff09; 2、回归问题集成。&#xff08;基学习器是回归模型&#xff09; 3、特征选取集成。 四、Bagging之随机森林 1、随机森林是有多个决策树&a…

卷积神经网络 - 卷积层(具体例子)

为了更一步学习卷积神经网络之卷积层&#xff0c;本文我们来通过几个个例子来加深理解。 一、灰度图像和彩色图像的关于特征映射的例子 下面我们通过2个例子来形象说明卷积层中“特征映射”的概念&#xff0c;一个针对灰度图像&#xff0c;一个针对彩色图像。 例子 1&#x…

2025-03-17 学习记录--C/C++-PTA 习题4-7 最大公约数和最小公倍数

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 习题4-7 最大公约数和最小公倍数 本题要求两个给定正整数的最大公约数和最小公倍数。 输入格式: 输入在一…

【源码阅读】多个函数抽象为类(实现各种类型文件转为PDF)

目录 一、原始函数二、类三、转换过程 一、原始函数 最开始就是写了几个函数&#xff08;包括doc、excel、ppt类型的文件&#xff09;转换为pdf&#xff0c;需要将这些函数形成一个类。相似的一类函数就可以组成一个实现特定功能的类 import subprocess import pandas as pd i…

VSCode扩展工具Copilot MCP使用教程【MCP】

MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09; &#xff0c;2024年11月底&#xff0c;由 Anthropic 推出的一种开放标准&#xff0c;旨在统一大型语言模型&#xff08;LLM&#xff09;与外部数据源和工具之间的通信协议。本文章教你使用VSCode…

【小白向】Word|Word怎么给公式标号、调整公式字体和花括号对齐

【小白向】Word&#xff5c;Word怎么给公式标号、调整公式字体和花括号对齐 我的版本&#xff1a;Word 2021 如需快速查看关键步骤&#xff0c;请直接阅读标红部分。 如果遇到无法调整的情况&#xff0c;可以直接下载我的示例文档进行参考&#xff1a;花括号和其他的示例公式.…

【算法day15】最接近的三数之和

最接近的三数之和 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数&#xff0c;使它们的和与 target 最接近。 这里是引用 返回这三个数的和。 假定每组输入只存在恰好一个解。 https://leetcode.cn/problems/3sum-closest/submissions/61…

Blender-MCP服务源码5-BlenderSocket插件安装

Blender-MCP服务源码5-BlenderSocket插件安装 上一篇讲述了Blender是基于Socket进行本地和远程进行通讯&#xff0c;现在尝试将BlenderSocket插件安装到Blender中进行功能调试 1-核心知识点 将开发的BlenderSocket插件安装到Blender中 2-思路整理 1&#xff09;将SocketServe…

【MySQL数据库】存储过程与自定义函数(含: SQL变量、分支语句、循环语句 和 游标、异常处理 等内容)

存储过程&#xff1a;一组预编译的SQL语句和流程控制语句&#xff0c;被命名并存储在数据库中。存储过程可以用来封装复杂的数据库操作逻辑&#xff0c;并在需要时进行调用。 类似的操作还有&#xff1a;自定义函数、.sql文件导入。 我们先从熟悉的函数开始说起&#xff1a; …

ASP3605抗辐照加固同步降压调节器——商业航天电源芯片解决方案新选择

ASP3605企业宇航级型号ASP3605S2U通过SEU≥75 MeVcm/mg与SEL≥75 MeVcm/mg抗辐射测试。其输入电压4V至15V&#xff0c;输出电流5A&#xff0c;支持多相级联与冗余设计&#xff0c;适用于卫星、航天器电源系统。 面向航天场景的核心功能设计 1. 抗辐射与可靠性保障 单粒子效应…

2025-03-16 学习记录--C/C++-PTA 习题4-4 特殊a串数列求和

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 习题4-4 特殊a串数列求和 给定两个均不超过9的正整数a和n&#xff0c;要求编写程序求aaaaaa⋯aa⋯a&#x…

在大数据开发中ETL是指什么?

hello宝子们...我们是艾斯视觉擅长ui设计和前端数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 在数字经济时代&#xff0c;数据已成为企业最核心的资产。然而&#xff0c;分散在业务系统、日志文件…

Python pyqt+flask做一个简单实用的自动排班系统

这是一个基于Flask和PyQt的排班系统&#xff0c;可以将Web界面嵌入到桌面应用程序中。 系统界面&#xff1a; 功能特点&#xff1a; - 读取员工信息和现有排班表 - 自动生成排班表 - 美观的Web界面 - 独立的桌面应用程序 整体架构&#xff1a; 系统采用前后端分离的架构…