RavenDB 服务器模式性能
RavenDB Server Mode Performance
我正在尝试从我的 RavenDB 数据库中获取数据。我创建了一个静态索引并尝试使用推荐的 DLL Raven.Client.Lightweight 通过我的 Web 服务执行我的请求。此步骤需要3秒获取数据。
但是如果我通过 RavenDB 接口执行相同的查询,我会在 10 毫秒内获得数据(见更少)。
你知道为什么在服务器模式下执行时间很慢吗?
谢谢!
编辑:这里有一些代码:
我在我的网络服务的 global.asax 中初始化我的文档:
public class Global : System.Web.HttpApplication
{
public static DocumentStore store;
protected void Application_Start(object sender, EventArgs e)
{
store = new DocumentStore { Url = Settings.Default.Url };
store.Initialize();
store.Conventions.AllowQueriesOnId = true;
}
}
我的要求:
public 静态 class 服务业务
{
私有静态 IDocumentSession Session = GetSession("programs");
public void MyTestMethod (string MyParamId, string PageNume, string NbItems)
{
List<Content> contents = new List<Content>();
using (var Session = Global.store.OpenSession("MyDb"))
{
contents = Session.Query<Content>("Test")
.Where(x => x.Programs.Any(y => y.Products.Any(z => z.Values.Any(w => w.Id == MyParamId))))
.Skip((int.Parse(PageNum) - 1) * int.Parse(NbItems))
.Take(int.Parse(NbItems))
.ToList();
}
}
}
最后,高响应时间是由于网络中发送的数据包的大小(限制为 1514 字节)。我们花了很多时间assemble所有的数据包。
我正在尝试从我的 RavenDB 数据库中获取数据。我创建了一个静态索引并尝试使用推荐的 DLL Raven.Client.Lightweight 通过我的 Web 服务执行我的请求。此步骤需要3秒获取数据。
但是如果我通过 RavenDB 接口执行相同的查询,我会在 10 毫秒内获得数据(见更少)。
你知道为什么在服务器模式下执行时间很慢吗?
谢谢!
编辑:这里有一些代码: 我在我的网络服务的 global.asax 中初始化我的文档:
public class Global : System.Web.HttpApplication
{
public static DocumentStore store;
protected void Application_Start(object sender, EventArgs e)
{
store = new DocumentStore { Url = Settings.Default.Url };
store.Initialize();
store.Conventions.AllowQueriesOnId = true;
}
}
我的要求: public 静态 class 服务业务 { 私有静态 IDocumentSession Session = GetSession("programs");
public void MyTestMethod (string MyParamId, string PageNume, string NbItems)
{
List<Content> contents = new List<Content>();
using (var Session = Global.store.OpenSession("MyDb"))
{
contents = Session.Query<Content>("Test")
.Where(x => x.Programs.Any(y => y.Products.Any(z => z.Values.Any(w => w.Id == MyParamId))))
.Skip((int.Parse(PageNum) - 1) * int.Parse(NbItems))
.Take(int.Parse(NbItems))
.ToList();
}
}
}
最后,高响应时间是由于网络中发送的数据包的大小(限制为 1514 字节)。我们花了很多时间assemble所有的数据包。