none
Arbeitsspeicher - Verbrauch RRS feed

  • Frage

  • Hallo.

    Ich habe einen Cube mit mehreren Dimensionen erstellt. (Storage Mode ist bei allem auf "MOLAP" gestellt).

    Gibt es irgendwo eine Möglichkeit zu sehen, wieviel Speicher (Arbeitsspeicher), der Cube belegt oder wird er samt Aggrgationen nicht im Arbeitsspeicher abgelegt?

    Donnerstag, 5. Juli 2012 09:41

Antworten

  • Hallo,

    Da Du MOLAP ansprachst, geht es hier wohl um die klassischen Cubes und die sind im Storage (Platte, SAN, etc) persistiert. Im Speicher werden nur die benötigten und gecachten Daten gehalten, soweit es geht. Aber wie beim SQL Server auch werden Daten aus dem Storage nachgeladen, sobald sie benötigt werden und lange nicht genutzte Daten werden wieder aus dem Speicher entfernt.

    Anders ist es beim neuen SSAS Tabular Mode Cube, der wird vollstänig & nur im Arbeitsspeicher des Server gehalten und ist entsprechend durch dessen Größe auch begrenzt.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    • Als Antwort markiert tomtomk87 Donnerstag, 5. Juli 2012 10:50
    Donnerstag, 5. Juli 2012 10:41

Alle Antworten

  • Hallo,

    Da Du MOLAP ansprachst, geht es hier wohl um die klassischen Cubes und die sind im Storage (Platte, SAN, etc) persistiert. Im Speicher werden nur die benötigten und gecachten Daten gehalten, soweit es geht. Aber wie beim SQL Server auch werden Daten aus dem Storage nachgeladen, sobald sie benötigt werden und lange nicht genutzte Daten werden wieder aus dem Speicher entfernt.

    Anders ist es beim neuen SSAS Tabular Mode Cube, der wird vollstänig & nur im Arbeitsspeicher des Server gehalten und ist entsprechend durch dessen Größe auch begrenzt.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    • Als Antwort markiert tomtomk87 Donnerstag, 5. Juli 2012 10:50
    Donnerstag, 5. Juli 2012 10:41
  • Hallo.

    Ja, es geht um einen klassischen Cube mit 4-5 Dimensionen und ein paar Calculated Members in MDX.

    Wenn ich nun z.B. via Excel auf meinen Server zugreife und einer dieser Calculated Members berechnen lasse, werden also die Daten in den Cache geladen, ja?

    Vielen Dank für deine Antwort. Wenigstens wurde mir nun die MOLAP Speichereigenschaft ein wenig deutlicher als vorher!

    Donnerstag, 5. Juli 2012 10:47
  • Hauptspeicher oder nicht, das hat mit MOLAP nichts zu tun.

    Bei MOLAP Mode für die Dimensionen werden die Dimensionen/Attribute zusätzlich im Cube mit gespeichert, sozusagen als Kopie der Quell-Daten.
    Bei ROLAP Mode hingegen werden die Dimensionsdaten immer Live aus der relationalen Datenquelle selektiert.

    Ja, wenn Du Calculated Members / Measures hast, werden die beim Zugriff gecacht, das kannst Du dann bei dem nächsten Zugriff im Profiler anhand der "Cache Hits" Events sehen oder wenn Du MDX Query Studio nutzt, werdrn Dir dort auch die Cache Hits als Statistiks angezeigt.

    Und wegen dem Verhalten nutzt man nach der Neuverarbeitung ein Cache Warming, damit der erste Zugriff auch gleich schnell läuft, weil der Cache schon aufgebaut ist; siehe z.B. SSAS Cache Warming Using SSIS , How to warm up the Analysis Services data cache using Create Cache statement? uvam. 


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Donnerstag, 5. Juli 2012 11:03
  • Ich habe mir den Profiler mal angeschaut, aber wo kann ich denn da die Cache Hits sehen? Ich habe mir ein Trace erstellt mit allen Punkten, aber "Cache Hits" habe ich nicht gefunden.
    Montag, 9. Juli 2012 08:46
  • Du musst im SQL Server Profiler erst das Häkchen "Alle Ereignisse anzeigen" setzten, damit Du das Event zu sehen bekommt.

    Konkret heisst das Event "Get Data from Cache", siehe Analysis Services-Ablaufverfolgungsereignisse => Ereignis-ID 61


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Montag, 9. Juli 2012 09:29
  • Danke, habe es nun gefunden!

    Aber da sehe ich ja lediglich wann etc. Daten aus dem Cache genommen wurden.

    Mich würde aber z.B. interessieren wieviel Cache von dem Würfel/den Calculated Members,...belegt ist.

    Montag, 9. Juli 2012 12:31
  • Ok ich habe es nun geschafft mit Hilfe des Profilers mir den Speicherverbrauch des Cubes anzusehen, dabei ist mir aber aufgefallen, das wenn ich z.B. eine Hierarchy aufklappe der Speicherverbrauch größer wird. Ist ja auch klar da z.B. mein Calculated Member eben für das aufgeklappte die neuen Werte berechnet und diese gespeichert werden. Wenn ich nun aber die Hierarchy wieder zuklappe und wieder aufklappe, wurde der belegte Speicher wieder größer, was eigentlich nicht sein kann oder? Das vorher errechnete Calculated Member liegt doch schon im Cache?!
    Donnerstag, 12. Juli 2012 07:14
  • Der SQL Profiler liefert Dir eigentlich nur den Snapshot für das aktuelle Event, keine absoluten Werte. Zudem ist es schwierige zu sagen, was intern in SSAS abläuft, da müsste man die Entwickler fragen.

    Ansonsten gibt es ab SSAS 2008 die Möglichkeit, DMV abzufragen, hier wäre evtl. $SYSTEM.DISCOVER_MEMORYUSAGE interessant:

    SELECT * FROM $SYSTEM.DISCOVER_MEMORYUSAGE
    Allerdings sind die DMVs noch nicht so gut dokumentiert.
    Siehe MDSN Verwenden von dynamischen Verwaltungssichten (DMVs) zum Überwachen von Analysis Services

    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Freitag, 13. Juli 2012 07:49
  • Also gehe ich mit meinem Vorhaben den falschen Weg in dem ich den SQL Profiler benutze um zu sehen wieviel Speicher im Gesamten der Cube einnimmt, richtig?! So wie ich deine Antwort verstehe, ist es also nur "logisch" das der Profiler beim Wiederaufklappen einen höheren Speicher anzeigt, da er wie du gesagt hast nur den Speicher für das aktuelle anzeigt und dann eben auf das alte aufsummiert?!!
    Montag, 16. Juli 2012 06:59