csredis
csredis copied to clipboard
csrediscore和freeRedis哪个性能更好些
我们4000并发,经常会报[System.Exception: 【.....】 状态不可用,等待后台检查程序恢复方可使用。] Connect to server timeout ---> CSRedis.Internal.IO.RedisSocketException: Connect to server timeout at CSRedis.Internal.IO.RedisSocket.Connect(EndPoint endpoint, Int32 timeout) at
4000并发什么概念,他不是每秒4000是同时处理4000,报错是连接服务器超时,这么大的并发量很难不超时,服务器有拒绝的理由,本地端口也可能被 webapi 耗光。
提示:redis-server 单机每秒处理量是 10W
没有达到Redis的瓶颈,压测本身会导致服务器的cpu很高,观测到当cpu快满了的时候,就开始报这个问题了。
并发4000和每秒4000是不同概念,相差百倍
使用aws的ElastiCache提供的Redis集群(2主2从),是否需要将testcluster设置成false?
你执行看 cluster nodes 返回信息,里面的 ip 是不是他内部 ip
如果是就设置 false
一般云服务商都要设置 false
@2881099 您好,想请教一下:
1、我这边也是aws的ElastiCache提供的Redis集群(3主3从)没有ssl加密
2、cluster nodes 命令返回的是集群机器的内网 ip
3、info命令里redis_mode:cluster
最近,AWS有一次强制更新后,redis集群机器的内网 ip全都变了,然后我们应用的控制台就一直报如下错误,重启才能好
错误里的IP还是redis机器的老IP,没有新的IP
请教: 1、这个报错里的IP是从cluster node命令里获取到的么? 2、之前没有设置testcluster,是不是应该将testcluster设置成false,能解决此问题? 3、如果不是testcluster的设置问题,那有办法自动获得新的IP么?
@kyleli666
- 是的
- 不需要设置 testcluster
- testcluster 语法解决该问题,如果ip变化了,应该重新创建新的 CSRedisClient 实例