当前位置:网站首页>开源一夏 |如何优化线上服务器
开源一夏 |如何优化线上服务器
2022-08-03 20:43:00 【InfoQ】
我相信很多程序员都会有这种“线上服务器老是卡”等烦恼,那我今天给大家讲讲该如何优化线上服务器老是卡的问题。

服务器配置选择
服务器负载分析
CPU使用率
yum install htop -y
htop
htop
htop
内存使用率
MEM%
磁盘I/O
iostat
yum install sysstat -y
iostat
# 查看磁盘总体读写情况, 1代表每1秒读取一次数据
iostat -x 1
iostat
%idle
%util
%idle
:表示CPU除去等待磁盘I/O以外的空闲时间百分比,这个指标应该要保证在70%以上
%util
:该设备用于I/O操作的时间百分比,这个指标需要保证在70%以下,当到达100%时表示已经满负载。为了降低磁盘负载,可以采用性能更高的磁盘(OSD,PCIE)或者降低磁盘的操作频率(异步写、合并写)
平均负载
htop
Load average
网络使用情况
nload
yum install nload -y
nload
nload
nload
- Curr:当前网速
- Avg:平均网速
- Min:最小网速
- Max:最大网速
- Ttl:总流量
服务器内核参数调优
单个进程最大打开文件数
/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
*
TCP相关设置
/etc/sysctl.conf
# 为防止洪水攻击,高并发系统需要将此项关闭
net.ipv4.tcp_syncookies = 0
# 开启TCP连接重用,允许处理TIME-WAIT状态的连接重新用于新的TCP连接
net.ipv4.tcp_tw_reuse = 1
# 开启快速回收TCP连接中处于TIME-WAIT状态的连接
net.ipv4.tcp_tw_recycle = 1
#修改超时时间( s ),该值表示如果连接由本端关闭,则连接处于 FIN-WAIT-2状态的时间为
net.ipv4.tcp_fin_timeout = 30
#当 keepalive(长连接)启用的时候,TCP发送 keepalive 消息(探测包)的时间间隔( s ),默认为2个小时
net.ipv4.tcp_keepalive_time =1200
#服务器对外连接的端口范围,影响该服务器与其他服务器的连接数
net.ipv4.ip_local_port_range =102465535
#SYN队列的长度,可以容纳更多等待连接的网络连接数,默认为1024
net.ipv4.tcp_max_syn_backlog = 65535
#保持 TIME_WAIT 状态连接的最大数量,如果超过此值,TIME_WAIT 将立刻被清除并打印警告信息,默认为180000
net.ipv4.tcp_max_tw_buckets =5000
#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog =65535
# TCP最大连接数
net.core.somaxconn = 65535
#预留用于接收缓冲的内存默认值(字节)
net.core.rmem_default = 8388608
#预留用于接收缓冲的内存最大值(字节)
net.core.rmem_max = 16777216
#预留用于发送缓冲的内存默认值(字节)
net.core.wmem_default = 8388608
#预留用于发送缓冲的内存最大值(字节)
net.core.wmem_maX = 16777216
#避免时间戳异常
net.ipv4.tcp_timestamps = 0
#系统中最多有多少个 TCP 套接字不被关联到任何一个用户文件句柄上,如果超过这个数字,连接将即刻被复位并打印警告信息,这个限制仅仅是为了防止简单的DoS 攻击
net.ipv4.tcp_max_orphans =3276800
边栏推荐
- 迪赛智慧数——柱状图(多色柱状图):2021年我国城市住户存款排名
- leetcode refers to Offer 58 - II. Left Rotate String
- leetcode 125. 验证回文串
- Leetcode 16. Numerical integral power (power + fast recursive/iteration)
- 详解虚拟机!京东大佬出品 HotSpot VM 源码剖析笔记(附完整源码)
- Engineering Effectiveness Governance for Agile Delivery
- alicloud3搭建wordpress
- 博士申请 | 美国明尼苏达大学葛畅教授招收隐私数据管理方向全奖博士/硕士/博后/访问学者...
- 盲埋孔PCB叠孔设计的利与弊
- Power button - 203 - remove the list elements linked list
猜你喜欢
2022年强网杯rcefile wp
Advantages and Disadvantages of Blind and Buried Via PCB Stacked Via Design
svg+js订单确认按钮动画js特效
abs()、fabs() 和 labs() 的区别
业界新标杆!阿里开源自研高并发编程核心笔记(2022 最新版)
收藏-即时通讯(IM)开源项目OpenIM-功能手册
敏捷交付的工程效能治理
Why BI software can't handle correlation analysis
Power button 206 - reverse list - the list
在树莓派上搭建属于自己的网页(4)
随机推荐
软件测试基本流程有哪些?权威的第三方软件检测机构推荐
业界新标杆!阿里开源自研高并发编程核心笔记(2022 最新版)
ES6 introduction and let, var, const
【HiFlow】经常忘记签到怎么办?使用腾讯云场景连接器每天提醒你。
2022 年值得尝试的 7 个 MQTT 客户端工具
leetcode 2119. Numbers reversed twice
RNA核糖核酸修饰荧光染料|HiLyte Fluor 488/555/594/647/680/750标记RNA核糖核酸
leetcode 1837. K 进制表示下的各位数字总和
收藏-即时通讯(IM)开源项目OpenIM-功能手册
Zero trust, which has been popular for more than ten years, why can't it be implemented?
9月1日起我国给予多哥等16国98%税目产品零关税待遇
5 款漏洞扫描工具:实用、强力、全面(含开源)
如何使用 Jmeter获取登录token并设置为全局变量?
若依集成browscap读取浏览器用户代理
Advantages and Disadvantages of Blind and Buried Via PCB Stacked Via Design
error: C1083: 无法打开包括文件: “QString”: No such error: ‘QDir‘ file not found
Lecture topics and guest blockbuster, TDengine developers conference to promote data technology "broken"
leetcode refers to Offer 58 - II. Left Rotate String
svg胶囊药样式切换按钮
charles配置客户端请求全部不走缓存