- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们在 .NET Core 2.0 Azure 应用服务中偶然收到以下错误日志:
StackExchange.Redis.RedisConnectionException: No connection is available to service this operation: GET post:307948:media;
It was not possible to connect to the redis server(s).
To create a disconnected multiplexer, disable AbortOnConnectFail.
ConnectTimeout; IOCP: (Busy=0,Free=1000,Min=4,Max=1000),
WORKER: (Busy=20,Free=662,Min=4,Max=682),
Local-CPU: n/a ---> System.AggregateException: One or more errors occurred.
(It was not possible to connect to the redis server(s).
To create a disconnected multiplexer, disable AbortOnConnectFail. ConnectTimeout)
(UnableToConnect on api-prod.redis.cache.windows.net:6380/Interactive,
Initializing, last: NONE,
origin: BeginConnectAsync, outstanding: 0, last-read: 12s ago, last-write: 12s ago,
unanswered-write: 290293s ago, keep-alive: 60s,
state: Connecting, mgr: 10 of 10 available,
last-heartbeat: never, global: 0s ago, v: 2.0.513.63329)
我找到的所有答案和博客文章都告诉我们将属性 AbortOnConnectFail 设置为 false。我们已经将此属性设置为 false,但仍然会出现这些错误。这是我们的实现:
public class CacheService : ICacheService
{
private static IRedisConfiguration _redisConfiguration;
private readonly IDateService _dateService;
private static readonly Lazy<ConnectionMultiplexer> LazyConnection =
new Lazy<ConnectionMultiplexer>(() =>
{
var configurationOptions = CreateConfigurationOptions();
return ConnectionMultiplexer.Connect(configurationOptions);
});
public CacheService(IRedisConfiguration redisConfiguration, IDateService dateService)
{
_redisConfiguration = redisConfiguration;
_dateService = dateService;
}
private static ConfigurationOptions CreateConfigurationOptions()
{
var deltaBackOffInMilliseconds = TimeSpan.FromSeconds(5).Milliseconds;
var maxDeltaBackOffInMilliseconds = TimeSpan.FromSeconds(20).Milliseconds;
var config = new ConfigurationOptions();
//https://learn.microsoft.com/en-us/azure/architecture/best-practices/retry-service-specific#azure-redis-cache-retry-guidelines
config.AbortOnConnectFail = false;
config.ConnectRetry = 3;
config.ConnectTimeout = 2000;
config.ReconnectRetryPolicy = new ExponentialRetry(deltaBackOffInMilliseconds, maxDeltaBackOffInMilliseconds);
config.EndPoints.Add(_redisConfiguration.HostName);
config.Password = _redisConfiguration.Password;
config.Ssl = _redisConfiguration.Ssl;
config.DefaultDatabase = _redisConfiguration.DatabaseId;
return config;
}
public static ConnectionMultiplexer Connection => LazyConnection.Value;
public static IDatabase Cache => Connection.GetDatabase();
}
在 Azure 应用服务上,我检查了 TCP 连接,没有显示任何警告。 传出连接有所增加,但低于 1000。
运行两个 API 实例时,我们有大约 80 个连接,几乎保持不变。当天没有增加,因此连接管理似乎是正确的。
关于如何解决这个问题有什么建议吗?也许这是由于更多的配置调整。
Azure Redis:P1 高级层StackExchange.Redis 版本:2.0.513在 .NET Core 2.0 上运行的 .NET Core API
提前非常感谢。
最佳答案
关于azure - 将 AbortOnConnectFail 设置为 false 后,我们仍然会在 Azure REDIS 上收到 ConnectTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54685712/
在我的应用程序中,我打开 UrlConnections,并设置连接超时。有时,会抛出超时,但输入流仍然可读(并且包含数据) 我使用以下代码成功地重现了这一点: System.setProper
运行此代码时: static void Main(string[] args) { SqlConnectionStringBuilder csb = new SqlConnectionStri
所以我使用 tidhttp 来发出 post 请求。当我尝试将 connectTimeout 设置为任意时间段时,它都没有效果。在出现异常之前我仍然等待约 5 秒。提前致谢! 最佳答案 如果您要连接到
如果我们不设置 ConnectTimeout 值,例如“Connect Timeout=60”,(在 SqlCommand 中都没有),它的默认值是多少?我被告知是 15 秒 谢谢 最佳答案 defa
如果你 curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 15); 15 秒后没有建立连接,会发生什么? 最佳答案 根据 this mailing list
我正在尝试为 MongoClient(驱动程序版本 2.13)设置连接超时。 它挂起 10 秒,然后超时。我需要快速超时,因为此代码用于测试。 这是我的代码: String connectionUri
我正在做这个项目,其中一小部分是连接到服务器并做一些事情,如果它在一段时间内无法连接到服务器,则给出错误信息..我知道 curl 代码看起来像这样curl_easy_setopt(c,CURLOPT_
我发现,当为 TIdHTTP 组件设置 ConnectTimeoout 属性时,它会使请求(GET 和 POST)变慢约 120 毫秒? 这是为什么,我可以以某种方式避免/绕过它吗? Env:D201
我的connectTimeout和receiveTimeouts不起作用。这是我的代码: BaseOptions options = new BaseOptions( baseUrl:
我有一个通过 JQuery Ajax 请求的 Servlet。激活的过程需要花费大量时间来执行(最多 3-5 分钟)。我已将 server.xml 中的 connectTimeout 设置为“6000
我们的项目要求支持 Postgres(Postgresql 驱动程序)的“jdbc 超时”功能。我们还支持 Microsoft SQL(JTDS 驱动程序)和 MySQl(mysql 驱动程序)。所以
使用 SSL 时如何在 Indy 中设置 ConnectTimeout/ReadTimeout ? MCVE: program mcve; uses {$IFDEF UNIX}{$IFDEF Us
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: Receiving request timeout even though connect timeout and
当我将 ConnectTimeout 设置为 IdSMTP(例如,30 秒)并且 SMTP 服务器不可用时,它从 SMTP 服务器起飞大约 105 秒。 这是版本 10 中的 Indy 组件 - *2
我正在通过 SSH 发送命令。这个特定的命令恰好告诉机器重新启动。不幸的是,这会挂起我的 SSH session 并且不会返回,因此我的脚本无法继续转发到其他任务。 我已经尝试了各种修改命令本身的组合
我有 Spring Boot 基础设施,但微服务很少。他们彼此之间沟通得很好。其中一个微服务有一些第三方调用,通过http调用一些第三方服务。我已经定义了自己的 RestTemplate,并在 ini
因此,我一直在尝试使用 Azure 认知服务文本转语音 REST API 处理一个包含数千个文本文件的文件夹,将每个文件转换为语音。它工作得很好,直到它不起作用。多次成功转换后出现错误。我希望有一个稳
尝试通过客户端连接到 Azure Web App 上托管的 ChromaDB 实例时,我不断收到连接超时错误 import chromadb client = chromadb.HttpClient(
我们在 .NET Core 2.0 Azure 应用服务中偶然收到以下错误日志: StackExchange.Redis.RedisConnectionException: No connection
我们在 .NET Core 2.0 Azure 应用服务中偶然收到以下错误日志: StackExchange.Redis.RedisConnectionException: No connection
我是一名优秀的程序员,十分优秀!