2015-01-23 4 views
2

Я пытаюсь получить данные из моей базы данных 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(); 
      } 
    } 
} 
+0

Вы пытались выполнить эти тесты 10 или более раз подряд и принимать среднее значение? Если нет, возможно, что задержка, которую вы видите, - это загрузка .NET в DLL (и другие), и это не очень хорошее сравнение. –

+0

Я попробовал сейчас сделать 2 теста differents: – ahikaz

+0

Как вы инициализируете DocumentStore в своем веб-сервисе? Некоторый код поможет определить, что может быть неправильным. –

ответ

0

И, наконец, высокое время отклика связано с размером пакетов, отправленных в сети (ограничено 1514 байтами). Мы проводим много времени, чтобы собрать все пакеты.

Смежные вопросы