当前位置: 首页 > news >正文

运维 mysql、redis 、RocketMQ性能排查

MySQL查看数据库连接数

1. SHOW STATUS命令-查询当前的连接数

MySQL 提供了一个 SHOW STATUS 命令,可以用来查看服务器的状态信息,包括当前的连接数。

SHOW STATUS LIKE 'Threads_connected';

这个命令会返回当前连接到服务器的线程数,即当前的数据库连接数。

2. 查看information_schema数据库-查看当前所有活动连接的信息。

information_schema 是 MySQL 的一个系统数据库,它包含了数据库的元数据。通过查询 information_schema 中的 PROCESSLIST 表,可以查看当前所有活动连接的信息。

SELECT * FROM information_schema.PROCESSLIST;

这个查询会列出所有当前活动的连接,包括每个连接的 ID、用户、客户端地址、执行的查询等信息。

3. SHOW PROCESSLIST命令-返回当前所有活动连接的列表

SHOW PROCESSLIST 命令与查询 information_schema.PROCESSLIST 表的效果类似,它直接返回当前所有活动连接的列表。

SHOW PROCESSLIST;

4. max_connections -查看最大连接数

除了查看当前的连接数,你可能还想知道数据库配置的最大连接数。这可以通过查看 max_connections 状态变量来实现。

SHOW VARIABLES LIKE 'max_connections';

5. performance_schema - 使用性能模式

MySQL 的性能模式(Performance Schema)提供了更详细的性能监控信息,包括数据库连接的统计信息。要启用性能模式,你需要确保它已经启动,然后可以查询相关的表。

-- 启用性能模式
SET GLOBAL performance_schema = ON;-- 查询连接统计信息
SELECT * FROM performance_schema.data_locks;

6. 查看死锁

SHOW OPEN TABLES命令可以显示当前所有被打开的表。当表被锁住时,该表将被显示为Locked状态。

SHOW OPEN TABLES;

执行上述命令后,将会返回一个结果集,其中包含了当前所有被打开的表的信息。如果某个表被锁住了,你将会在结果集中找到该表,并且在Type列中的值为表锁定的类型(例如,READ或WRITE)

查询进程:

show processlist;

查看正在锁的事务:

select * from information_schema.innodb_locks;

查看等待锁的事务:

select * from information_schema.innodb_locks_w

7. 数据库解锁所有的表

 unlock tables;

Redis 客户端常见命令

1. info clients 可以查看当前的redis连接数

使用 INFO 命令可以让你知道当前的连接数(connected_clients),以及配置文件中设置的最大连接数(maxclients)。

redis-cli info clients

如果是在reids的客户端下命令中就去掉 redis-cli

这个命令会输出类似客户端的连接这样的信息:

connected_clients:30
cluster_connections:30
blocked_clients:0
tracking_clients:0
clients_in_timeout_table:0
maxclints:10000
connected_clients:3
  • CLIENT LIST redis查看详细连接
  • CLIENT LIST 获取客户端列表
  • CLIENT SETNAME 设置当前连接点redis的名称
  • CLIENT GETNAME 查看当前连接的名称
  • CLIENT KILL ip:port 杀死指定连接

2. maxclients -最大连接数调整

config get maxclients 可以查询redis允许的最大连接数

配置文件方式修改最大连接数

127.0.0.1:6379> CONFIG GET maxclients##1) "maxclients"##2) "10000"
127.0.0.1:6379>

Redis配置文件调整maxclients参数
如果你发现现有的连接数接近或者达到了最大连接数限制,你可以在Redis的配置文件 redis.conf 中调整 maxclients 的值。
记得这个值应该在你的服务器可以接受的范围内,不要超过服务器的负载能力。

maxclients 10000

重新加载Redis配置
修改完配置文件后,需要重新加载让它生效。可以使用以下命令:

redis-cli -p <port> CONFIG RELOAD

或者重启Redis服务:

你就调整了Redis的最大连接数。但是,记得做任何配置更改前先评估你的服务器,以确保它可以处理更多的连接。

config set maxclients num 可以设置redis允许的最大连接数

127.0.0.1:6379> CONFIG set maxclients 10
OK
127.0.0.1:6379>

启动redis.service服务时加参数–maxclients 100000来设置最大连接数限制

redis-server --maxclients 100000 -f /etc/redis.conf

3. 合理设置超时时间:

在 Redis 的配置文件 redis.conf 中,你可以找到 timeout 项来设置这个值:

timeout 300

这里的设置意味着如果客户端连接空闲了 300 秒,就会被自动断开。如果你将其设置为 0,就表示禁用自动断开功能。

4.查看redis 版本

5.redis 启动

./redis-server ../redis.conf    
(1) ./redis-server --version

客户端输入INFO命令
在这里插入图片描述

http://www.lryc.cn/news/506706.html

相关文章:

  • [SAP ABAP] 将内表数据转换为HTML格式
  • LLM大语言模型私有化部署-使用Dify与Qwen2.5打造专属知识库
  • 使用C语言连接MySQL
  • PyTorch 2.0 以下版本中设置默认使用 GPU 的方法
  • 信号槽【QT】
  • 【UE5 C++课程系列笔记】10——动态单播/多播的基本使用
  • 点击展示大图预览
  • 【C++】分书问题:深入解析、回溯法高级应用与理论拓展
  • java开发入门学习五-流程控制
  • 【FFmpeg 教程 一】截图
  • 北邮,成电计算机考研怎么选?
  • 深入了解京东API接口:如何高效获取商品详情与SKU信息
  • C++常见内存泄漏案例分析以及解决方案
  • [LeetCode-Python版]206. 反转链表(迭代+递归两种解法)
  • 70 mysql 中事务的隔离级别
  • C语言二叉树
  • 智能工厂的设计软件 三种处理单元(NPU/GPU/CPU)及其在深度学习框架中的作用 之1
  • iOS swift开发系列--如何给swiftui内容视图添加背景图片显示
  • jmeter后端监视器
  • 服务器数据恢复—RAIDZ离线硬盘数超过热备盘数导致阵列崩溃的数据恢复案例
  • 面试题整理4----lvs,nginx,haproxy区别和使用场景
  • iOS - 超好用的隐私清单修复脚本(持续更新)
  • html <a>设置发送邮件链接、打电话链接 <a href=“mailto:></a> <a href=“tel:></a>
  • clickhouse-副本和分片
  • 2009 ~ 2019 年 408【计算机网络】大题解析
  • vue2使用render,js中写html
  • 如何有效划分服务器磁盘空间?具体的步骤和流程
  • labelme标签批量转换数据集json_to_dataset
  • Fisco-Bcos-java-SDK 利用java与fisco-Bcos区块链上的智能合约交互(以HelloWorld为例)
  • OpenHarmony-3.HDF Display子系统(6)