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.Lightweight увеличивает время отклика в 200 раз (550-600 мс)