Rocky(Centos)数据库等高并发或高io应用,linux应调优系统

news2024/11/23 21:35:55

一、系统参数优化

 默认的最大打开文件数是1024.不满足生产环境的要求。按照如下配置:

1、修改 systemctl管理的 servie 资源限制

编辑/etc/systemd/system.conf

# 全局的打开文件数
DefaultLimitNOFILE=2097152
# 全局打开进程数
DefaultLimitNPROC=65535


2、调整系统内核参数

编辑文件/etc/sysctl.conf 

# 全局:端口最大的监听队列的长度,可为:32768
net.core.somaxconn=32768
# 内存分配模式:1为不限制
vm.overcommit_memory = 1
# 单进程打开文件句柄数
fs.nr_open = 2097152
# 系统打开文件句柄数
fs.file-max = 2097152

# 大i/o独立部署中间件选配,例如:redis、队列、数据库等;
# 请求连接保存在队列中的最大数目
net.ipv4.tcp_max_syn_backlog=16384
# 网络接口接收数据包比内核处理速率快时,允许送到队列的数据包的最大数目。
net.core.netdev_max_backlog=16384
# 每个tcp连接占用内存,共三个值:最小字节数 默认值 最大字节数
net.ipv4.tcp_mem = 786432 2097152 3145728
# 每个tcp连接的读缓冲(接收缓冲),缓存从对端接收的数据,后续会被应用程序读取
net.ipv4.tcp_rmem = 2048 32768 4194304
# 每个tcp连接的写缓冲(发送缓冲),缓存应用程序的数据,有序列号被应答确认的数据会从发送缓冲区删除掉
net.ipv4.tcp_wmem = 2048 8192 2097152

添加完成后,刷新内核参数,立即生效:执行命令

/sbin/sysctl -p

3、调整用户组的资源限制

修改limits.conf。需重启生效,vi /etc/security/limits.conf

# 用户会话的 打开文件句柄数
* soft nofile 1048576
* hard nofile 1048576
# 用户会话的 打开进程数限制
* soft nproc 65535
* hard nproc 65535
# * 代表所有用户
# nofile 在测试最大连接数时,可以设置,例如:2097152 = 2048 * 1024。
# 在实际环境中,因为还要处理数据业务逻辑,太大的值其实没有必要,例如:1048576 = 1024 * 1024

3.1 查看是否生效

#用户级别的系统配置
ulimit -a
#open file文件限制数
ulimit -n
#进程限制数
ulimit -u

4、其他不推荐使用的

# cpupower设置performance
cpupower frequency-set -g performance
# 查看一个cpu的工作模式
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

工作模式包含: 

1 ondemand:系统默认的超频模式,按需调节,内核提供的功能,不是很强大,但有效实现了动态频率调节,平时以低速方式运行,当系统负载提高时候自动提高频率。以这种模式运行不会因为降频造成性能降低,同时也能节约电能和降低温度。一般官方内核默认的方式都是 ondemand。

2 interactive:交互模式,直接上最高频率,然后看 CPU 负荷慢慢降低,比较耗电。Interactive 是以 CPU 排程数量而调整频率,从而实现省电。InteractiveX 是以 CPU 负载来调整 CPU 频率,不会过度把频率调低。所以比 Interactive 反应好些,但是省电的效果一般。

3 conservative:保守模式,类似于 ondemand,但调整相对较缓,想省电就用他吧。Google 官方内核,kang 内核默认模式。

4 smartass:聪明模式,是 I 和 C 模式的升级,该模式在比 interactive 模式不差的响应的前提下会做到了更加省电。

5 performance:性能模式!只有最高频率,从来不考虑消耗的电量,性能没得说,但是耗电量。

6 powersave 省电模式,通常以最低频率运行。

7 userspace:用户自定义模式,系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节 CPU 运行频率使用。也就是长期以来都在用的那个模式。可以通过手动编辑配置文件进行配置

8 Hotplug:类似于 ondemand, 但是 cpu 会在关屏下尝试关掉一个 cpu,并且带有 deep sleep,比较省电。

二、其他非软件优化

 注:window也有优化系统分页大小和文件句柄数,这里不做介绍了 

1、相应优化参考

自研MQTT单机百万TCP连接(服务端+客户端)调优_mqtt 百万并发-CSDN博客文章浏览阅读1k次。netty_mqtt 百万并发https://blog.csdn.net/callouszd/article/details/128965377

2、我们测试某台是网线太次:居然百兆网线

线上查找了半天:

ethtool 网卡名 | grep Speed

 

3、某次bom测试,ssd写性能比机械测试差距3倍

当前磁盘中速度最快的应该是SSD了。查看命令:

> yum install lsscsi
# 列出 SCSI 设备(或主机)及其属性
> lsscsi

[0:2:0:0]    disk    DELL     PERC H330 Adp    4.30  /dev/sda 
[14:0:0:0]   cd/dvd  HL-DT-ST DVD+-RW GU90N    A3C3  /dev/sr0

显然,我的电脑上没有SSD,只是普通的磁盘。如果有SSD,第5列会显示SSD字样。

三、系统监控、排查性能瓶颈

1、启动cockpit

可1台监控多台,运行

systemctl start cockpit
systemctl status cockpit

 centos7 可能不存在,则自己安装一下

yum install cockpit

2、 开放9090端口

firewall-cmd --zone=public --add-port=9090/tcp --permanent
firewall-cmd --reload

注删除端口开放名令

firewall-cmd --permanent --zone=public --remove-port=9090/tcp
firewall-cmd --reload

 查看防火墙列表

firewall-cmd --list-all

2、登陆控制台(无法用root登陆):

https://IP:9090/system

2、查看cpu和内存占用:

点击下面的查看指标和历史记录

注:点击右上角的管理认证,可申请更大的权限

3、安装可查看历史的插件

点击上图的查看历史和指标,可查看当前机器的情况

会提示安装插件(非必须,对机器有一定的损耗),安装好后,提示注销会重新登陆

相应的指标会存储到redis内(提示安装redis,不推荐安装);

4、提示安装redis,安装后的情况

(不建议点击提示安装,能实时查看即可)

自动安装的redis位置;运行:where redis

注:点击右上角可添加新的主机(只要装了:cockpit)

点击存储和网路,可查看到其他信息

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

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

相关文章

GitHub 仓库 (repository) Watch - Star - Fork - Follow

GitHub 仓库 [repository] Watch - Star - Fork - Follow References 眼睛图标旁边写着 Watch 字样。点击这个按钮就可以 Watch 该仓库,今后该仓库的更新信息会显示在用户的公开活动中。Star 旁边的数字表示给这个仓库添加 Star 的人数。这个数越高,代表…

(源码+部署+讲解)基于Spring Boot + Vue的车位租赁系统设计与实现

前言 💗博主介绍:✌专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2024年Java精品实战案例《100套》 🍅文末获取源码联系🍅 🌟…

4.9总结(Stream流,方法引用概述 || 乘法逆元,组合数)

Stream流 基本概念:以更简便的方式操作集合数据的形式; Steam流的操作步骤: 获取Stream流 中间方法:去重,跳过,获取, 过滤, 合并流,转换类型; 终结方法&…

VR紧急情况模拟|V R体验中心加盟|元宇宙文旅

通过VR技术实现紧急情况模拟,提升安全应急能力! 简介:面对突发紧急情况,如火灾、地震、交通事故等,正确的反应和应对能够有效减少伤害和损失。为了提高人们在紧急情况下的应急能力,我们借助先进的虚拟现实…

微软对其基于Arm的Windows系统终将超越苹果充满信心

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

关于Salesforce DevOps的理解

“DevOps”是一组结合了软件开发 (Dev) 和运营 (Ops) 的实践,可帮助团队更快、更可靠地构建、测试和发布软件。 DevOps 的核心理念包括持续集成(Continuous Integration)、持续交付(…

实战要求下,如何做好资产安全信息管理

文章目录 一、资产安全信息管理的重要性二、资产安全信息管理的痛点三、如何做好资产安全信息管理1、提升资产安全信息自动化、集约化管理能力,做到资产全过程管理2、做好资产的安全风险识别3、做好互联网暴露面的测绘与管空4、做好资产安全信息的动态稽核管理 “摸…

Kotlin:常用标准库函数(let、run、with、apply、also)

一、let 扩展函数 Kotlin标准库函数let可用于范围确定和空检查。当调用对象时,let执行给定的代码块并返回其最后一个表达式的结果。对象可以通过引用(默认情况下)或自定义名称在块中访问。 let扩展函数源码 let.kt文件代码 fun main() {println("isEmpty $is…

搭建Grafana+Prometheus监控Spring Boot应用

Spring项目改造 maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId> </dependency><dependency><groupId>io.micrometer</groupId><artif…

【Flutter】三个Channel(Android-java / Ios-swift)

Channel 实现与原生通信 【1】MethodChannel flutter MethodChannel官方文档 通过MethodChannel来传递数据&#xff0c;调用方法 案例 分别调用Android和Ios原生的获取电量的方法 Flutter端 实例一个MethodChannel&#xff0c; 唯一标识name&#xff0c;定义方法名称get…

eclipse .project

.project <?xml version"1.0" encoding"UTF-8"?> <projectDescription> <name>scrm-web</name> <comment></comment> <projects> </projects> <buildSpec> <buil…

【ensp】VLAN间通信的解决办法

目录 VLAN间通信简介 VLAN间通信的两种方式 借助三层设备路由器进行VLAN间的通信&#xff08;也就是单臂路由&#xff09; 在端口上创建子接口之后为什么需要开启arp广播&#xff0c;是因为他是子接口吗? 拓扑图 交换机配置 路由器配置 查看路由器配置 测试能否实现…

SQLite数据库在Linux系统上的使用

SQLite是一个轻量级的数据库解决方案&#xff0c;它是一个嵌入式的数据库管理系统。SQLite的特点是无需独立的服务器进程&#xff0c;可以直接嵌入到使用它的应用程序中。由于其配置简单、支持跨平台、服务器零管理&#xff0c;以及不需要复杂的设置和操作&#xff0c;SQLite非…

【数据结构与算法】递推法和递归法解题(递归递推算法典型例题)

目录 【算法】递推法和递归法递推算法递推算法的特点 递归算法递归算法的特点 递归法与递推法的算法设计例题例题一&#xff1a;斐波那契数列&#xff08;递归递推两种方法 以及 改进算法&#xff09;例题二&#xff1a;数字三角形问题例题三&#xff1a;扑克牌42点问题 更多算…

Redis 八种常用数据类型常用命令和应用场景

5 种基础数据类型&#xff1a;String&#xff08;字符串&#xff09;、List&#xff08;列表&#xff09;、Set&#xff08;集合&#xff09;、Hash&#xff08;散列&#xff09;、Zset&#xff08;有序集合&#xff09;。 3 种特殊数据类型&#xff1a;HyperLogLog&#xff0…

Jpegli 简介:Google 开源的新一代 JPEG 编码库

互联网改变了我们的生活、工作和交流方式。然而&#xff0c;当页面加载缓慢时&#xff0c;它可能会变成令人沮丧的根源。这个问题的核心在于图像的编码。 为了改进这一点&#xff0c;Google 推出了 Jpegli&#xff0c;这是一种先进的 JPEG 编码库&#xff0c;它保持了高度的向…

OpenAI曾转录100万小时视频数据,训练GPT-4

4月7日&#xff0c;纽约时报在官网发布了一篇名为《科技巨头如何挖空心思&#xff0c;为AI收集数据》的技术文章。 纽约时报表示&#xff0c;OpenAI曾在2021年几乎消耗尽了互联网有用的文本数据源。为了缓解训练数据短缺的难题&#xff0c;便开发了知名开源语音识别模型Whispe…

系统架构最佳实践 -- 智慧图书管理系统架构设计

随着数字化时代的到来&#xff0c;智慧图书管理系统在图书馆和机构中扮演着重要的角色。一个优秀的图书管理系统不仅需要满足基本的借阅管理需求&#xff0c;还需要具备高效的性能、良好的扩展性和稳定的安全性。本文将讨论智慧图书管理系统的架构设计与实现&#xff0c;以满足…

spring Cache的基本使用

一、spring Cache基本介绍&#xff08;其实是通过代理对象来进行操作的&#xff09; Spring Cache 是 Spring 框架提供的一个缓存抽象&#xff0c;它能够轻松地集成到 Spring 应用程序中&#xff0c;为方法调用的结果提供缓存支持&#xff0c;从而提高应用程序的性能和响应速度…

基于拉格朗日分布算法的电动汽车充放电调度MATLAB程序

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 程序简介 该模型主要做的是基于拉格朗日分布算法的电动汽车充放电调度模型。利用蒙特卡洛模拟法模拟出电动汽车负荷曲线&#xff0c;并求解出无序充电功率曲线和有序充电曲线&#xff0c;该模型在电动汽车个…