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

服务器配置选择
服务器负载分析
CPU使用率
yum install htop -y
htophtop
htop内存使用率
MEM%磁盘I/O
iostatyum install sysstat -y
iostat# 查看磁盘总体读写情况, 1代表每1秒读取一次数据
iostat -x 1
iostat%idle%util%idle:表示CPU除去等待磁盘I/O以外的空闲时间百分比,这个指标应该要保证在70%以上
%util:该设备用于I/O操作的时间百分比,这个指标需要保证在70%以下,当到达100%时表示已经满负载。为了降低磁盘负载,可以采用性能更高的磁盘(OSD,PCIE)或者降低磁盘的操作频率(异步写、合并写)
平均负载
htopLoad average网络使用情况
nloadyum install nload -y
nloadnload
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边栏推荐
- leetcode 2119. 反转两次的数字
- From September 1st, my country has granted zero-tariff treatment to 98% of tax items from 16 countries including Togo
- canvas螺旋动画js特效
- 太香了! 阿里 Redis 速成笔记, 从头到尾全是精华!
- Power button 206 - reverse list - the list
- CLIP论文解读
- glusterfs build and use
- 在树莓派上搭建属于自己的网页(4)
- 为什么 BI 软件都搞不定关联分析
- Cesium 修改鼠标样式
猜你喜欢

如何使用 Jmeter获取登录token并设置为全局变量?

RNA核糖核酸修饰RNA-HiLyte FluorTM 405荧光染料|RNA-HiLyte FluorTM 405

From September 1st, my country has granted zero-tariff treatment to 98% of tax items from 16 countries including Togo

EasyCVR平台海康摄像头语音对讲功能配置的3个注意事项
[email protected] 610/[email protected] 594/Alexa 56"/>染料修饰核酸RNA|[email protected] 610/[email protected] 594/Alexa 56

华为设备配置VRRP与BFD联动实现快速切换

力扣59-螺旋矩阵 II——边界判断

EMQX Newsletter 2022-07|EMQX 5.0 正式发布、EMQX Cloud 新增 2 个数据库集成

Likou 707 - Design Linked List - Linked List

chartjs自定义柱状图插件
随机推荐
第三方验收测试报告有什么作用?如何获取权威软件测试报告?
从开发到软件测试:除了扎实的测试基础,还有哪些必须掌握 ?
leetcode 1837. The sum of the digits in the K-base representation
在树莓派上搭建属于自己的网页(4)
leetcode 231. 2 的幂
2022年1~7月语音合成(TTS)和语音识别(ASR)论文月报
染料修饰核酸RNA|[email protected] 610/[email protected] 594/Alexa 56
Alexa染料标记RNA核糖核酸|RNA-Alexa 514|RNA-Alexa 488|RNA-Alexa 430
nvm的使用 nodejs版本管理,解决用户名是汉字的问题
Likou 707 - Design Linked List - Linked List
RNA-ATTO 390|RNA-ATTO 425|RNA-ATTO 465|RNA-ATTO 488|RNA-ATTO 495|RNA-ATTO 520近红外荧光染料标记核糖核酸RNA
Go语言类型与接口的关系
LeetCode 899. 有序队列
ES6 introduction and let, var, const
不专业面试官的经验总结
ARMuseum
TweenMax.js向日葵表情变化
glusterfs build and use
leetcode 剑指 Offer 58 - II. 左旋转字符串
leetcode 072. 求平方根