【发布时间】:2018-12-25 03:01:41
【问题描述】:
我正在 Amazon Linux AMI(基于 CentOS)[在亚马逊 EC2 实例中运行]、MySQL 上的 Docker 中运行 .NETCore 应用程序数据库托管在 Amazon RDS 和 Redis 本地托管在与 .NETCore 应用程序相同的机器上
应用位于 Apache 代理之后
要连接到 MySQL 和 Redis,我使用 MySql.Data 和 StackExchange.Redis nuget 包
问题: 应用程序有巨大的延迟峰值,有时会因错误而失败
Connection id "0HLFB3QH78G7P", Request id "0HLFB3QH78G7P:00000001":
An unhandled exception was thrown by the application.
StackExchange.Redis.RedisTimeoutException: Timeout performing ZREVRANGE globalLeaderboard,
inst: 1, queue: 7, qu: 0, qs: 7, qc: 0, wr: 0, wq: 0, in: 7, ar: 0,
clientName: RedisConnection, serverEndpoint: 172.17.0.1:6379, keyHashSlot:1809
或出现 MySQL 连接超时错误(现在没有登录我)
Graph from Grafana 哪里可以看到尖刺
我已经尝试过不同的 linux 发行版和 nginx 而不是 Apache,但没有成功
这是我的 RedisConnector 基类,所有执行 Redis 操作的类都从该基类继承 https://pastebin.com/aq7mDhk5
这是我的 BaseDatabase 基类,所有执行 MySQL 操作的类都从该基类继承 https://pastebin.com/2639X5va
【问题讨论】:
标签: mysql docker asp.net-core redis .net-core