问题标签 [azure-in-role-cache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
777 浏览

asp.net-mvc-4 - 角色缓存中的 Azure 不会在“未在托管服务或开发结构中运行”的服务器上启动。

我开始使用 Azure 角色内缓存,并且在我的本地计算机上的 Azure 计算模拟器中一切正常,但在服务器上却不行。我已经处理了一些问题,例如服务器上缺少 msshrtmi.dll,但现在不明白为什么会出现此错误:

我发现有关此错误的所有信息是,如果您启动具有角色内缓存且没有管理权限的本地 Azure 计算模拟器,则会发生此错误。但是在模拟器中一切正常,只有在我发布到暂存环境后才会出现问题。(如果切换到生产,错误仍然存​​在)。

我使用缓存来解析 /username 和 /countryname 等路由。因此,可用的用户名和国家/地区名称将被缓存并根据数据库的更改进行更新。我有带有静态 DataCache 对象的静态类,该对象是在第一次缓存请求时创建的。但即使是主页也没有启动,所以在我尝试创建缓存对象之前会发生错误。

网络配置。我是否从 web.config 中删除所有缓存和缓存诊断相关配置,应用程序启动。

服务配置.Cloud.cscfg

服务定义.csdef

0 投票
2 回答
164 浏览

caching - 同一解决方案中的角色缓存和 Windows Server AppFabric 缓存中的 Azure

我们正在将 Azure 应用程序迁移到本地数据中心。在将 Azure 包部署到云服务时,我们需要在角色缓存中使用 Azure。在本地部署到 Windows Server 时,我们需要使用 Windows Server AppFabric 缓存。您如何使其在一个解决方案中发挥作用?

详细解释

我们使用 Azure SDK v 2.2 客户端程序集连接到角色缓存中的 Azure。

我们使用安装时附带的客户端程序集连接到 Windows Server AppFabric Cache v 1.1。

Windows Server AppFabricCache、异常、检查客户端版本线程中解决了程序集视觉问题。

问题是我们的主要 Web项目最终引用了所有提到的具有重复名称和版本的程序集。我们不想通过它破解我们的方式。从最差到不太差的选项是创建自定义程序集加载或修改构建过程。首选方式是什么?我们是否已经偏离了大路?

0 投票
0 回答
59 浏览

linq - Azure 角色内缓存上的存储策略

我们有大约 100 GB 来自不同实体的数据。
有一些维度,一些事实和一些交易实体。
事务项在 5000 万行范围内。
所有这些数据都存储在 blob 存储中,每个实体都有一个 csv 文件。
角色缓存中将有一个副本以供快速访问。
此外,需要使用 LINQ 与其他一些实体连接来处理发生的事务,并更新、插入或删除存储在缓存中的实体上的项目以及 Blob 存储上的数据。
将每个实体作为一个列表(每个实体一个对象)存储在缓存中是个好主意吗?
还是将列表(实体)中的每个项目(行)分别存储在缓存中?
这种缓存场景的通常做法是什么?

0 投票
1 回答
7541 浏览

caching - Azure Redis 缓存和用于输出缓存的角色内缓存之间的性能差异

我们正在将一个 asp.net 站点移动到 Azure Web 角色和 Azure Sql 数据库。该站点正在使用输出缓存和普通缓存[xxx](即 HttpRuntime.Cache)。这些现在以经典方式存储在 Web 角色实例内存中。

唾手可得的成果是首先开始使用分布式缓存进行输出缓存。我可以使用角色内缓存,无论是在同一位置还是与专用缓存角色一起使用,或者是 Redis 缓存。两者都已准备好输出缓存提供程序。

两种缓存方法(使用同位/专用)缓存方法之间是否存在任何性能差异?

需要考虑的一件事是,对于每台服务器上的每个页面加载,从 Redis 获取页面会比每 120 秒每台服务器从头开始编写页面更快或更慢,但介于两者之间只是从本地内存获取它?

当我们想要开始在分布式缓存而不是 HttpRuntime.Cache 中缓存我们自己的数据(即 pocos)时,哪个会更好地扩展?

-马蒂亚斯

0 投票
2 回答
507 浏览

wcf - 多个 DataCacheClients - 奇怪的配置行为

我正在为我们的 Web 角色集群使用 Azure 的角色内缓存。

我需要使用单独dataCacheClients的以便有不同的和明确设置传输属性配置(maxBufferPoolSizemaxBufferSize)。

问题是每个dataCacheClient总是设置相同的maxBufferPoolSizemaxBufferSize值。它们都设置为dataCacheFactory我首先实例化的值。

每个具体DataCache对象都是从单独的DataCacheFactory实例(包含在静态“管理器”中)实例化的。我也尝试过恢复以编程方式创建缓存客户端,但无济于事。

因此,这是由于 MaxBufferSize 在 256 时太小而引发的异常。

抛出 DataCacheException

调试工厂的时候,可以清楚的看到MaxBufferSize不是256:

MaxBufferSize 调试

我开始拔头发,所以我想出了两个想法:

我怀疑每个数据客户端的StartPortand在所有数据中都是相同的(22233 as和 24233 as ),这让我相信他们可能来自同一个工厂(因此使用相同的设置)。DiscoveryPortAutoDiscoveryPropertiesStartPortDiscoveryPort

此外,DataCacheServerEndpoint每个客户的 20004 也是相同的。也许他们需要不同?

我正在使用 Microsoft.WindowsAzure.Caching 2.4.0.0 和 Azure SDK 2.4。

谁能帮我指出正确的方向?

0 投票
1 回答
492 浏览

wcf - 缓存大对象 - LocalCache 性能

我有一些需要从缓存中存储和获取的大对象。这些对象的大小约为 1 - 2 mb。

localCache启用的情况下运行时,检索时间不会超过几毫秒,但如果没有它,则始终需要大约 3 秒。

我正在使用 Azure 角色内缓存(并置)。

谁能解释一下为什么不启用 localCache 会慢得多?

0 投票
1 回答
121 浏览

azure - 本地缓存和不可变对象 - 零超时

Local Cache上使用基于通知的失效时,ttlValue超时仍然会使缓存项失效,从而在下一个请求时强制从缓存集群中获取。

例如,在下面的配置中,项目将在 300 秒后超时,但也会每 60 秒检查一次集群上的失效通知(例如,如果它们被删除):

问题:

我有一组不可变的对象——即它们不会改变。这意味着他们永远不需要基于超时的失效来“刷新”自己。

这实质上意味着不可变对象将不必要地从本地缓存中删除。如果这些项目很多,则可能会出现明显的性能下降,尤其是在需要读取数千个项目时。

在构造函数中将其设置为零DataCacheLocalCacheProperties时,出现以下异常:

另一个选项我必须设置一个无法访问的号码。

为什么不允许我们使用零超时的本地缓存?

我正在使用 Azure 角色内缓存(托管)。

0 投票
1 回答
159 浏览

azure - 在 Azure 角色缓存中缓存主机配置

根据这篇 MSDN 文章(关于运行 Azure 的 AppFabric 缓存),我应该能够找到DistributedCacheService.exe.config位于 的文件\Windows\System32\AppFabric,但它在任何实例上都不存在。

当远程进入其中一个实例并搜索配置时,我在E:\plugins\Caching.

CacheService.config.exe文件看起来很有前途(类似于DistributedCacheService .exe.config),除了dataCacheConfig未初始化:

我需要确认在服务器端正确配置了某些数据缓存设置,以解决我以前的帖子

我的客户端web.config看起来像这样:

在 Azure 角色内缓存(并置)中的哪里可以找到缓存主机配置文件?

0 投票
1 回答
109 浏览

c# - Windows Azure 角色中缓存异常问题

我得到了这个例外: -

错误代码:子状态:暂时失败。请稍后重试。(指定的一个或多个缓存服务器不可用,可能是由于网络或服务器繁忙。对于本地缓存集群,还要验证以下条件。确保已为此客户端帐户授予安全权限,并检查 AppFabric所有缓存主机上的缓存服务都允许通过防火墙。服务器上的 MaxBufferSize 必须大于或等于客户端发送的序列化对象大小。)。附加信息:客户端试图与服务器通信:net.tcp://RoleName:24233。

我遵循了这一点:-Documentation那里有很多问题和文章,但它们有点旧。

客户创建:-

网络配置:-

重试策略:- 现在内置 DataCacheFactory,间隔为 1 分钟和 60 次重新计数。

我有最新的 nuget 包,如 2.5 版的 Windows.azure.caching。最近有没有人解决过这个问题。我被困在这里了。任何帮助表示赞赏。

0 投票
1 回答
253 浏览

azure - SDK 2.5 升级后 Windows Azure 角色内缓存不起作用

我将我的 Azure Web 角色项目从 SDK v1.8 更新到 SDK v2.5,并且角色内缓存似乎不再起作用。我看到以下错误

ErrorCode ERRCA0017 :SubStatus ES0006:有一个临时故障。请稍后重试。(指定的一个或多个缓存服务器不可用,可能是由于网络或服务器繁忙。对于本地缓存集群,还要验证以下条件。确保已为此客户端帐户授予安全权限,并检查 AppFabric所有缓存主机上的缓存服务都允许通过防火墙。服务器上的 MaxBufferSize 必须大于或等于客户端发送的序列化对象大小。)。附加信息:客户端试图与服务器通信:net.tcp://10.175.252.32:20004/。---> System.Net.Sockets.SocketException: 无法建立连接,因为目标计算机在 Microsoft.ApplicationServer.Caching.TcpClientChannelFactory 的 Microsoft.ApplicationServer.Caching.AsyncResultNoResult.EndInvoke() 处主动拒绝了它 10.175.252.32:20004。 TcpConnectionCallback(IAsyncResult result) --- 内部异常堆栈跟踪结束 --- 在 Microsoft.ApplicationServer.Caching.DataCache.ThrowException(ErrStatus errStatus, Guid trackingId, Exception responseException, Byte[][] payload, EndpointID destination) 在 Microsoft。 Microsoft.ApplicationServer.Caching.SocketClientProtocol 处的 ApplicationServer.Caching.SocketClientProtocol.ExecuteApi(IVelocityRequestPacket 请求,IMonitoringListener 侦听器)。

这是 app.Config 设置

这是我项目中的包

即使在模拟器上,我也看到了同样的错误(没有附加信息)。WinDebug 不适用于 Azure 角色(它打开到错误状态)。

任何帮助将不胜感激