C# NCache查询性能问题
我正在评估NCache在正在进行的项目中作为“读通”缓存的使用情况,以便从SQL server中卸下负载。C# NCache查询性能问题,c#,server-side,load-testing,ncache,C#,Server Side,Load Testing,Ncache,我正在评估NCache在正在进行的项目中作为“读通”缓存的使用情况,以便从SQL server中卸下负载。 在客户端,项目有一个轮询例程,该例程接收按上次轮询日期时间筛选的项目(在服务器端)。 轮询以固定的间隔在单独的线程中进行 客户端的伪代码 1) 首次提取: 获取所有现有项目 将LastHandledDate设置为现在 2) 非第一次获取(轮询线程) 获取在LastHandledDate之后创建的现有项 将LastHandledDate更新到现在 在服务器端,当接收到轮询查询时,将执行以下伪
在客户端,项目有一个轮询例程,该例程接收按上次轮询日期时间筛选的项目(在服务器端)。
轮询以固定的间隔在单独的线程中进行
客户端的伪代码
1) 首次提取:
SELECT * FROM Messages WHERE Message.SessionId = 1234 AND Message.EntryDate >= ‘2012-10-6’
编辑:在测试期间,在客户端有一个线程以恒定速率添加新项目
服务器端部分托管在web服务(IIS中的WCF)中。在用100个客户端对上述轮询设置进行了大约一个小时的负载测试后,我注意到web服务执行的每秒请求数稳步下降 运行上述设置时,只从NCache读取数据,而不进行SQL读取(服务器端伪代码中没有第2段),会产生相同的每秒请求数下降模式 我有几个问题:
- NCache的查询性能似乎取决于缓存中对象的总数。类似的解决方案(NoSQL/分布式缓存)是否也是如此
- 哪个NoSQL/分布式缓存解决方案针对查询速度进行了优化
- 也许在NCache中,查询可以进行更优化
- 也许我遗漏了一些东西——而且我的分布式缓存使用模式不正确——在我的用例中如何有效地使用分布式缓存(如NCache)