LEN

PHP 抛错 read error on connection
今天线上服务报警 抛错如下func: Listen\WebSocket::onWorkerStart Date: ...
扫描右侧二维码阅读全文
10
2019/07

PHP 抛错 read error on connection

今天线上服务报警 抛错如下

func: Listen\WebSocket::onWorkerStart
Date: 2019/07/10 18:25:20

msg: read error on connection
line: 34
file: /data/x/project/vendor/ZScript/DB/Redis.php
trace: #0 [internal function]: Redis->brPop('queue:x:pub...', 1)

看到这个抛错 第一时间反应是 redis info redis服务详情

ops 无异常
内存有点问题 redis info memory 下 used_memory_peak_perc 参数异常的大 91%
该redis 阿里云 内存 8G 内存已使用 2.3G ;

使用命令 redis --bigkeys 检查看出 zset 占用内存 93%

业务上 zset key 仅是用作统计使用 每日一个key 每个key 每秒一个member 日积月累 占用内存增长了起来

redis-cli  keys match:day:*:stats:zset |xargs  redis-cli del {} 

通过上面的命令 删除 所有统计使用的 zset ;

redis info memoryused_memory_peak_perc 参数恢复正常 0.1%

很奇怪的是redis 使用内存仅 2.3G 为什么就读失败了.......

之前也有说过 阿里云的redis 集群 是有坑的.. 它所谓的集群是指将数据按 key取分配到不同节点上, 如果一个key 过大把单节点写满, 其他节点也会无法调用

最后修改:2019 年 11 月 04 日 11 : 15 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论