Ravendb Долгое время отклика для запроса, пока был обработан на сервере очень быстро

StackOverflow https://stackoverflow.com/questions/3811804

  •  26-09-2019
  •  | 
  •  

Вопрос

Raven.Server запущен и привязан к порту 8022. Я инициализирую DataStore следующим образом:

        var store = new DocumentStore() { Url = "http://localhost:8022" };
        store.Initialize();

Тогда я делаю такой запрос:

        using (var session = store.OpenSession())
        {
            Stopwatch watch = new Stopwatch();
            watch.Start();

            var result = session.LuceneQuery<Item>("Raven/DocumentsByEntityName")
                .WhereEquals("Tag", "Items")
                .ToList();

            watch.Stop(); // watch.ElapsedMilliseconds == ~550 ms

            return result;

        }

А также watch.ElapsedMilliseconds всегда ~ 550 мс. Но когда я смотрю на консоль RavendB, я вижу, что запрос был обработан в 3 мс:

Request # 170: GET     -    3 ms - 200 - /indexes/Raven/DocumentsByEntityName?query=Tag%253A%255B%255BItems%255D%255D&start=0&pageSize=128

Таким образом, ~ 99,5% времени были потрачены не в Ravendb. В чем проблема? (Ravendb 147)

Когда я переключаюсь на самообе хостинг RavendB (то есть в качестве встроенного клиента) все в порядке (~ 3 мс).

Чтобы уточнить этот вопрос не в сети, HTTP отладчиков, DNS-серверы и т. Д. Я также проверил это:

            Stopwatch watch = new Stopwatch();
            watch.Start();

            WebClient client = new WebClient();
            var result = client.DownloadString("http://127.0.0.1:8022/indexes/Raven/DocumentsByEntityName?query=Tag%253A%255B%255BItems%255D%255D&start=0&pageSize=128");

            watch.Stop(); // watch.ElapsedMilliseconds == ~3-10ms

Быстро. Но переключение на raven.client.lights весите увеличить время отклика в 200 раз (550-600 мс)

Это было полезно?

Решение

Проблема была из-за посредника на моем компьютере - NOD32. Если вы также используете его - снимите флажок следующий флажок:

Настройка -> Расширенная настройка -> Антивирус и антишпион -> Фильтрация протокола -> «Включить приложение протокальный контент фильтрации»

Простые отключения антивируса или брандмауэра нет помощь!

Другие советы

Может быть, бездействуя и, возможно, просто типы, но иногда самые резкие вещи могут водить нас орехи;

Ваше утверждение: «Raven.server начался и привязан к порту 8082. Отказ Я инициализирую DataStore следующим образом: "

Пример вашего кода гласит: «VAR Store = New DocumentStore () {URL =" http: // localhost:8022" };"

Порт в вашем названии 8082 и порт в вашем примере 8022.

Я понимаю, что ваш Typ - O не может быть в вашем актуальном коде, но никогда не болит, чтобы проверить.

«Мюс», говоря

п

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top