Я пытаюсь получить данные из моей базы данных RavenDB. Я создал статический индекс и попытался выполнить свой запрос через мой веб-сервис с помощью рекомендуемого DLL Raven.Client.Lightweight. Для получения данных этот шаг занимает 3 секунды.Производительность сервера RavenDB
Но если я делаю тот же запрос через интерфейс RavenDB, я получаю данные в 10 мс (см. Меньше).
У вас есть идеи, почему время выполнения в режиме сервера медленное?
Спасибо!
EDIT: Вот некоторый код: инициализирую мой документ в global.asax моего WebService:
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;
}
}
Моего запрос: общественного статический класс ServiceBusiness { частного статический IDocumentSession Session = GetSession (» программы ");
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();
}
}
}
Вы пытались выполнить эти тесты 10 или более раз подряд и принимать среднее значение? Если нет, возможно, что задержка, которую вы видите, - это загрузка .NET в DLL (и другие), и это не очень хорошее сравнение. –
Я попробовал сейчас сделать 2 теста differents: – ahikaz
Как вы инициализируете DocumentStore в своем веб-сервисе? Некоторый код поможет определить, что может быть неправильным. –