故障

压测高并发环境下,redis/mysql服务器连不上,应用程序报错获取不到连接等

分析

redis服务器默认设置的最大连接数maxclients是10000

在redis-cli命令行使用:info clients可以查看当前的redis连接数

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

mysql默认最大连接max_connections是100

查看 my.cnf 文件

Linux TCP默认连接 1024,最大连接数为 65536

```shell

[root@HA ~]# ulimit -n

1024

```

**处理 **

TCP默认修改

对于想支持更高数量的TCP并发连接的通讯处理程序,就必须修改Linux对当前用户的进程同时打开的文件数量的软限制(soft limit)和硬限制(hardlimit)。其中软限制是指Linux在当前系统能够承受的范围内进一步限制用户同时打开的文件数;硬限制则是根据系统硬件资源状况(主要是系统内存)计算出来的系统最多可同时打开的文件数量。通常软限制小于或等于硬限制。

(具体修改命令处理)[https://blog.csdn.net/linyu19872008/article/details/19154383]

https://blog.csdn.net/educast/article/details/22820045

redis和mysql最大连接数修改

```shell

修改最大连接数配置,默认10000,可以在redis.conf配置文件中修改

# maxclients 10000

##(1.2)启动redis.service服务时加参数--maxclients 100000来设置最大连接数限制

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

##命令行查看 & 修改稿redis最大连接数

127.0.0.1:6379> CONFIG GET maxclients

##1) "maxclients"

##2) "10000"

127.0.0.1:6379>

```

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐