2016-09-29 2 views
0

Ich habe einen Bericht, der ein freigegebenes Dataset verwendet. Es hat auch mehrere verschiedene Slicer zum Anzeigen der Daten. Da das Dataset sehr groß ist, habe ich einen Cache dafür erstellt, so dass es nicht ewig dauert, bis der Benutzer auf einen Slicer klickt. Der Cache läuft jeden Morgen um 3:30 Uhr ab und wird um 4:00 Uhr aktualisiert. Der Bericht wird von 15 verschiedenen Kunden verwendet und mein Unternehmen hat eine separate Datenbank für jeden Kunden eingerichtet. Daher gibt es 15 Versionen des Berichts, jeder mit einer anderen Datenquelle.Bericht verwendet kein zwischengespeichertes Dataset, wie es sein soll

Das Problem, das ich habe, ist, dass der Cache nicht konsistent funktioniert. Eines Tages laufen alle Berichte aus dem morgendlichen Cache, am nächsten Tag verwenden nur wenige Berichte den morgendlichen Cache und die anderen ziehen die Live-Daten (das heißt, das Laden dauert einige Minuten). Ich bin reingegangen und habe den Cache für jeden Kunden gelöscht, und am nächsten Tag läuft alles gut, aber ein paar Tage vergehen und es ist wieder inkonsistent.

Ein Gedanke, den ich hatte, war, dass mehrere Kopien des gleichen Caches gespeichert werden können und der Bericht nicht weiß, welche zu verwenden, so dass es keine verwendet. Dies sollte nicht passieren, weil der Cache eine halbe Stunde vor der Aktualisierung gelöscht wird, aber ist das möglich? Ich würde denken, wenn es mehrere Kopien eines Caches gäbe, würde der Bericht den neuesten verwenden.

Eine andere Idee, die ich hatte war, dass, weil es 15 Berichte gibt, die mit den gleichen Parametern zur gleichen Zeit cachen, vielleicht verwirrt das den Bericht. Ich würde denken, dass es den Cache verwenden würde, der mit seiner Datenquelle verbunden ist, aber könnte dies geschehen? Sollte ich dem Dataset, das den Client-Namen hat, einen Parameter hinzufügen, so gibt es keine Verwirrung?

Irgendwelche anderen Gedanken darüber, was das verursachen könnte, wären hilfreich, danke.

+0

Ich habe gerade herausgefunden, wie Sie die Caches auf dem Server überprüfen, und festgestellt, dass nicht alle Datensätze täglich zwischengespeichert werden. Hat jemand Vorschläge, warum dies passieren könnte? – starx207

Antwort

0

Ich habe herausgefunden, was passiert ist. Da alle Berichte gleichzeitig versuchten, zwischenzuspeichern, wurden nicht alle Caches erfolgreich auf dem Berichtsserver gespeichert. Ich gestaffelt die Cache-Zeiten, und das behebt mein Problem

Verwandte Themen