RavenDB de temps de réponse pour la requête, tout a été traitée sur le serveur très rapide

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

  •  26-09-2019
  •  | 
  •  

Question

Raven.Server commencé et binded au port 8022. J'initialiser DataStore de la manière suivante:

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

Alors je fais cette requête:

        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;

        }

Et watch.ElapsedMilliseconds est toujours ~ 550 ms. Mais quand je regarde à la console RavenDB je vois que la requête a été traitée en 3 ms:

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

Ainsi ~ 99,5% du temps ont été dépensés pas RavenDB. Quel est le problème? (RavenDB 147)

Quand je passe à l'auto-hébergement de RavenDB (à savoir en tant que client embarqué) tout est correct (~ 3ms).

Pour clarifier cette question non dans le réseau, débogueurs http, serveurs dns etc. J'ai aussi testé ceci:

            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
Rapide

. Mais le passage à Raven.Client.Lightweight augmenter le temps de réponse de 200 fois (550-600 ms)

Était-ce utile?

La solution

Le problème était à cause de mon ordinateur sur middleman - NOD32. Si vous aussi utilisez - décochez la case suivante:

Configuration -> Configuration avancée -> Antivirus et antispyware -> Filtrage des protocoles -> "Activer le filtrage du contenu de l'application protocal"

invalidantes simple antivirus ou pare-feu ne pas help!

Autres conseils

tatillonne Peut-être et peut-être juste un typ-o mais parfois les choses les plus stupides peuvent nous conduire les noix;

votre déclaration: "Raven.Server a commencé et binded au port 8082 J'initialiser DataStore de la manière suivante:."

votre exemple de code lit: "Var magasin = new DocumentStore () {Url = "http: // localhost: 8022 "};"

le port dans votre titre est 8082 et le port dans votre exemple est 8022 .

Je me rends compte de votre typ-o ne peut pas être dans votre code réel mais il ne est jamais vérifier.

'm jus' sayin'

P

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top