Raven.Server开始和绑定到端口8022我初始化数据存储在方式如下:

        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服务器等。i也测试这样:

            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

快速。但是,在200次切换到Raven.Client.Lightweight增加响应时间(550-600毫秒)

有帮助吗?

解决方案

问题是因为我的计算机上中间人 - NOD32。如果你还在使用它 - 取消下列复选框:

设置 - >高级设置 - >病毒和间谍软件 - >协议过滤 - > “启用应用protocal内容过滤”

杀毒软件的简单的禁止或防火墙的的帮助!

其他提示

也许挑剔,也许只是一个典型-O但有时最愚蠢的事情可以推动我们的坚果;

您的发言: “Raven.Server启动并绑定到端口的 8082 我初始化数据存储的方式如下:。”

您的代码示例显示如下: “变种商店=新DocumentStore(){URL = ”HTTP://本地主机:的 8022 “};”

在标题的端口是的 8082 并的在你的例子是端口的 8022

我知道您的典型-O可能不会在您的实际代码,但它绝不会伤害检查。

'M绝对' 说

P

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top