Ich frage einfache Elasticsearch Index mit Hausnummern Daten.Elasticsearch Reaktionszeit - seltsame Werte
".house-numbers": {
"mappings": {
"house-number": {
"properties": {
"id": {
"type": "keyword"
},
"value": {
"type": "text",
"index_options": "docs"
}
}
}
}
}
Dann bin ich die Abfrage Daten wie POST HTTP-Anfrage
URL
http://localhost:9200/.house-numbers/housenumber/_search
Headers:
Content-Type: text/plain
Content-Length: 55
Accept: */*
Accept-Encoding: gzip, deflate, br
Anfrage Körper:
{
"size": 30,
"query": {
"match": {
"value": {
"query": "2 3"
}
}
}
}
Anfrage liefert Daten in 10ms - 30ms und alles funktioniert gut. Elasticsearch Antwort Parameter nahm ist in allen Fällen 3-5ms klein.
Wenn ich Größe in Anforderung Körper zu "size": 35
ändern, hat Reaktionszeit plötzlich 500ms. Take-Parameter von Elasticsearch ist das gleiche. Es gibt keine Sonderzeichen und die Größe der Antwort ist sehr ähnlich.
Ich versuchte viele Clients NEST, Postman, Fiddler diese Anfragen zu tun, jeder Client hat das gleiche Verhalten.
Rahmen meiner Elasticsearch enthält nur
http.compression : true
http.compression_level : 9
Rahmen meiner Jvm
"jvm": {
"timestamp": 1478108615141,
"uptime_in_millis": 17150141,
"mem": {
"heap_used_in_bytes": 1384307624,
"heap_used_percent": 66,
"heap_committed_in_bytes": 2077753344,
"heap_max_in_bytes": 2077753344,
"non_heap_used_in_bytes": 96403904,
"non_heap_committed_in_bytes": 101502976,
"pools": {
"young": {
"used_in_bytes": 324358632,
"max_in_bytes": 558432256,
"peak_used_in_bytes": 558432256,
"peak_max_in_bytes": 558432256
},
"survivor": {
"used_in_bytes": 69730304,
"max_in_bytes": 69730304,
"peak_used_in_bytes": 69730304,
"peak_max_in_bytes": 69730304
},
"old": {
"used_in_bytes": 990220848,
"max_in_bytes": 1449590784,
"peak_used_in_bytes": 1190046816,
"peak_max_in_bytes": 1449590784
}...
ich verschiedene Versionen von Elasticsearch habe ich versucht, verschiedene Einstellungen ausprobiert - ausschalten http.compression, ändern Komprimierungs I versuchte einen anderen Hosts für elasticsearch
Ich habe keine Ahnung, was dieses Problem verursachen kann und Ich kann meine Arbeit nicht fortsetzen. Irgendeine Idee, wohin man schaut oder wie man fortfährt?
Wenn Sie diese Abfrage 10-20 mal ausführen, wird es schneller? ElasticSearch verschiebt die Daten nach Bedarf automatisch in den Cache und wieder aus diesem heraus. Daher ist die erste Abfrage manchmal langsam, aber nachfolgende Abfragen sind sehr schnell. – jhilden
Wie viel Speicher hast du an die JVM angehängt? [Holen Sie sich diese Informationen hier] (http://StackOverflow.com/Questions/32100072/Checking-Elastic-Search-Heap-Size/32107177#32107177) – jhilden
@Jhilden Es wird nicht schneller nach Anfragen, aber manchmal dauert eine Anfrage z. 8ms und dann wieder zehn Anfragen dauern 500ms. –