2881099 / FreeIM

.NETCore websocket 实现简易、高性能、集群即时通讯组件,支持点对点通讯、群聊通讯、上线下线事件消息等众多实用性功能.
MIT License
1.42k stars 418 forks source link

压测时候出现大量超时错误 #8

Closed a14907 closed 4 years ago

a14907 commented 4 years ago

日志是这样的:

fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[1]
      An unhandled exception has occurred while executing the request.
System.TimeoutException: SafeObjectPool.Get 获取超时(10秒)。
   at SafeObjectPool.ObjectPool`1.Get(Nullable`1 timeout)
   at CSRedis.CSRedisClient.GetAndExecute[T](RedisClientPool pool, Func`2 handler, Int32 jump, Int32 errtimes)
   at CSRedis.CSRedisClient.ExecuteScalar[T](String key, Func`3 hander)
   at CSRedis.CSRedisClient.HKeys(String key)
   at ImClient.GetChanListByClientId(Guid clientId) in D:\code\TT\001_src\im\ImCore\ImClient.cs:line 256
   at ImServer.Acceptor(HttpContext context, Func`1 next) in D:\code\TT\001_src\im\ImCore\ImServer.cs:line 116
   at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

是什么问题?

2881099 commented 4 years ago

poolsize设置的多少,csredis的配置,加大一些

a14907 commented 4 years ago

poolsize设置的多少,csredis的配置,加大一些

设置了100

2881099 commented 4 years ago

那就是处理不过来,把redis当本地试试,再不行就上redis集群