Ich habe versucht, die Leistung von Abfragen, die auf einem Vertica-Cluster ausgeführt werden, zu optimieren, indem Sie den Wert von PlannedConcurrency des allgemeinen Ressourcenpools ändern. Wir haben einen Cluster von 4 Knoten mit 32 Kernen/Knoten. Nach Vertica docs,Vertica PlannedConcurrency
Abfrage Budget = Queuing Schwelle des GENERAL pool/PLANNEDCONCURRENCY
Erhöhung PlannedConcurrency die Abfrage Budget reduzieren soll, weniger Speicher/Abfrage der Reservierung, die zu weniger Anfragen führen könnte in der Warteschlange oben.
Das Erhöhen des Werts von PlannedConcurrency scheint die Abfrageleistung zu verbessern.
PlannedConcurrency = 256 ergibt eine bessere Leistung als 128, die besser als AUTO ist.
PlannedConcurrency ist die bevorzugte Anzahl gleichzeitig ausgeführter Abfragen im Ressourcenpool. Wie kann diese Anzahl größer als die Anzahl der Kerne sein und dennoch eine bessere Abfrageleistung bieten?
Auch der Unterschied zwischen RESOURCE_ACQUISITIONS.MEMORY_INUSE_KB und QUERY_PROFILES.RESERVED_EXTRA_MEMORY sollte den verwendeten Speicher geben.
Diese Zahl bleibt jedoch für eine einzelne Abfrage nicht konstant, wenn die geplante Parallelität geändert wird.
Kann mir bitte jemand helfen, zu verstehen, warum sich diese Speicherbelegung mit dem Wert von PlannedConcurrency unterscheidet?
Danke!
Referenzen:
https://my.vertica.com/blog/do-you-need-to-put-your-query-on-a-budgetba-p236830/
https://my.vertica.com/docs/7.1.x/HTML/Content/Authoring/AdministratorsGuide/ResourceManager/GuidelinesForSettingPoolParameters.htm
Wie Kann ich die tatsächliche Speichernutzung für eine Abfrage kennenlernen? @cohenjo – singsuyash
Der Anwendungsfall umfasst meist große Abfragen mit Joins in mehreren (mindestens 2-3) Tabellen. –
@singsuyash - Wie in der Frage angegeben, zeigt der Unterschied zwischen der Akquisition und extra Speicher, was verwendet wird. BhaviJagwani - was sind die reserved_extra_memory Werte? Sie sollten sie verkleinern sehen, wenn Sie die Nebenläufigkeit erhöhen. (groß/klein sind relative Ausdrücke - wenn Sie zusätzliche Ressourcen dann für Ihren Cluster haben, sind dies keine großen Anfragen :)) – cohenjo