gpt4 book ai didi

performance - RavenDB - 写入/保存性能缓慢?

转载 作者:行者123 更新时间:2023-12-04 12:42:36 25 4
gpt4 key购买 nike

我开始将一个简单的 ASP.NET MVC Web 应用程序从 SQL 移植到 RavenDB。我注意到 SQL 上的页面比 RavenDB 上的要快。

使用 Miniprofiler 向下钻取,似乎罪魁祸首是所需的时间: session.SaveChanges(150-220 毫秒)。 保存在 RavenDB 中的代码如下所示:

var btime = new TimeData() { Time1 = DateTime.Now, TheDay = new DateTime(2012, 4, 3), UserId = 76 };
session.Store(btime);
session.SaveChanges();

认证方式 :当 RavenDB 作为服务运行时,我假设它使用“Windows 身份验证”。当部署为 IIS 应用程序时,我只使用了默认值 - 即“Windows 身份验证”。

背景 : 数据库机器与我作为 Web 服务器的开发机器是分开的。数据库在同一台数据库机器上运行。测试数据非常小 - 比如说 100 行。查询很简单,返回一个具有 12 个属性的对象,大小为 48 字节。使用 fiddler 对 RavenDB 运行 WCAT 测试在数据库机器上产生了更高的利用率(与 SQL 相比)和更少的页面。我尝试将 Raven 作为服务和 IIS 应用程序运行,但没有看到明显的区别。

编辑

我想确保 a) 我的一台机器或 b) 我创建的解决方案没有问题。所以,决定尝试在 上测试它Appharbor 使用 Michael Friis 创建的另一个解决方案: RavenDN sample app 并简单地将 Miniprofiler 添加到该解决方案中。 Michael 是 Aphabor 最棒的人之一,您可以下载代码 here 如果你想看的话。

Appharbor的结果

您可以 try it here (目前):
  • 阅读:(7-12ms,在 100+ms 处有一些异常值)。
  • 写入/保存:(197-312ms) * WOW 保存时间很长 * .要测试保存,只需 create a new "thingy" 并保存它。您可能希望至少执行两次,因为随着应用程序预热,第一次通常需要更长的时间。

  • 除非我们都做错了什么,否则 RavenDB 的保存速度非常慢 - 保存速度比读取慢 10-20 倍。鉴于它异步重新索引,这似乎很慢。

    有没有办法加快速度,或者这是可以预期的?

    最佳答案

    首先 - Ayende 是 RavenDB 背后的“人”(他写的)。我不知道他为什么不回答这个问题,尽管即使在谷歌组中,他似乎也曾插话提出一些尖锐的问题,但很少回来提供完整的答案。也许他正在努力让 RavenHQ 起步?!?

    第二 - 我们遇到了类似的问题。以下是有关可能是原因的 Google 网上论坛讨论的链接:

    RavenDB Authentication and 401 Response .

    一个合理的问题可能是:“如果这些建议解决了问题,为什么 RavenDB 不能开箱即用?”或者至少提供有关如何获得不错的写入性能的文档。

    我们根据上面线程中提出的建议玩了一段时间,响应时间确实有所改善。最后,我们切换回 MySQL,因为它经过了良好的测试,我们很早就(幸运地)遇到了这个问题,这引起了我们可能会遇到更多问题的担忧,最后,因为我们没有时间:

  • 全面测试它是否修复了我们在 RavenDB 服务器上看到的性能问题
  • 调查和测试使用 UnsafeAuthenticatedConnectionSharing 和预身份验证的影响。
  • 关于performance - RavenDB - 写入/保存性能缓慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10006152/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com