COMPAREX AG
Nintex Workflow History Clean Up mit Performance Rückgewinnung (Teil 1): Ursachen und Tools (Header)

Nintex Workflow History Clean Up mit Performance Rückgewinnung (Teil 1): Ursachen und Tools

Nintex Workflow ist eine der beliebtesten Drittanbieterlösungen für SharePoint mit hohem Verbreitungsfaktor. Der Hersteller Nintex bietet diese Workflowerweiterung, die auf SharePoint als Solution aufgesetzt ist, seit nunmehr über 10 Jahren an - ab Version SharePoint 2007 mit durchgehender Beständigkeit für diese und alle Nachfolge-Versionen. Beim Einsatz von Nintex Workflow gibt es zumindest eine Konfigurationsdatenbank, in größeren Einsatzszenarien kommen weitere Nintex Inhaltsdatenbanken hinzu, und alle wachsen mit der Zeit beständig an. Mit Zunahme der Datenbankgrößen lässt sich feststellen, dass die Performance von Nintex Workflow abnimmt. Wir zeigen, wie Ihr Nintex Workflow nicht verschlackt und Sie ihn richtig warten. In diesem Beitrag widmen wir uns zunächst den Ursachen und Möglichkeiten der Verbesserung. In einem Folgebeitrag beschreiben wir den Aktionsplan im Detail.

Ein Blogbeitrag von Daniel Mönch, Senior Consultant SharePoint und Office 365 Competence Team

Mit diesem Artikel wende ich mich an alle Interessierten, die der Performance-Abnahme von Nintex Workflow etwas entgegnen und ihr System wieder schlank und flott sehen wollen. Dabei beleuchte ich zunächst die Ursachen, dann die Tools, die der Hersteller Nintex anbietet und gehe danach über in die erweiterten Methoden, die angewandt werden können, falls diese Tools anhand zu großer Datenmengen versagen. Ziel ist es, Ihnen die benötigten Informationen zu übermitteln, Nintex Workflow von Altdaten zu bereinigen und damit einhergehend, Performance zurückzugewinnen, egal wie groß Ihre angesammelten Nintex Daten über die Jahre auch geworden sein sollten.

Eine typische Ausgangslage

Ein Unternehmen setzt Nintex Workflow bereits seit Jahren auf seiner SharePoint Farm ein und hat seine Farmen auch schon mehrfach migriert, sagen wir von SharePoint 2010 über SharePoint 2013 hin zu SharePoint 2016. In allen SharePoint Versionen hat das Unternehmen das Produkt Nintex Workflow in der jeweils zugehörigen Workflow-Version eingesetzt. Bei den SharePoint Migrationen wurden die Nintex Datenbanken per Backup und Restore ebenfalls mit migriert. Seit geraumer Zeit melden Anwender, dass sie das Gefühl haben, dass Nintex Workflows mit starker Verzögerung abgearbeitet werden und auch die Durchlaufzeiten sich immer mehr erhöhen. Es besteht der Eindruck, dass das ganze Nintex Workflow System weniger performant ist als früher, obwohl die SharePoint Farm selbst eine gute Performance aufweist. Lediglich Nintex Workflow scheint immer stärker unterzuperformen.

Verursacher des Problems

Die Hauptursache für die Verschlechterung der Performance von Nintex Workflow (sofern alle anderen Performance-Probleme ausgeschlossen werden) ist auf die zunehmende Datensammlung historischer Workflow-Daten zurückzuführen. Diese sammeln sich sowohl in den Nintex Datenbanken, aber auch in den SharePoint History Listen an und können große Datensatzmengen bis weit über das Millionenfache anhäufen.

Werfen wir einen Blick hinter die Kulissen und beleuchten die gesammelten Daten etwas genauer. Wenn ein Nintex Workflow zum Einsatz kommt, dann befindet sich hinter dem Workflow eine Workflow History Liste im SharePoint. Dies ist eine einfache SharePoint Liste vom Typ „Workflow History“. In dieser Liste entstehen dann für jede Workflow-Instanz (jeden Workflow-Durchlauf) Datensätze, die von einfachen Statusmeldungen bis hin zu Workflow-Verlaufs-Datensätzen reichen.

Zu diesen Workflow-Verlaufs-Datensätzen speichert Nintex Workflow ebenfalls Daten in seinen Inhalts-datenbanken. Diese Daten umfassen:

  • Nintex Benutzer-Log-Einträge, die der Workflow schreibt, weil der Entwickler dies an den einzelnen Workflow-Aktionen entsprechend konfiguriert hat
  • Nintex Verbose-Log-Einträge, die bis ins kleinste Detail für jeden Workflow-Durchlauf, jedes Feld, jede Variable und dessen/deren Änderungen protokolliert, welcher Wert sich von „vorher“ zu „nachher“ geändert hat (Funktionalität global konfigurierbar)
  • Nintex Fortschritts-Log-Einträge, die jeden Workflow-Durchlauf und seine Aktionen mit entsprechendem Status protokollieren

Innerhalb der Nintex Datenbanken sind vor allem nachfolgende Datenbanktabellen für die Datenablage relevant:

  • dbo.workflowlog
  • dbo.workflowprogress

Das folgende Beispiel zeigt eine Nintex Datenbank mit den Mengen-Werten dieser zwei Tabellen:

Beispiel: Nintex Datenbank mit den Mengen-Werten zweier Tabellen (Quelle: COMPAREX)

Quelle: COMPAREX

Gut zu erkennen ist, dass in dieser Datenbank knapp eine Million Workflow-Log- und ca. 36 Millionen Workflow-Fortschrittseinträge abgelegt sind und eine Bereinigung dringend zu empfehlen wäre. Sie können sich diese Werte über das SQL Management Studio per Aufruf des Kontextmenüs der jeweiligen Nintex Workflow Datenbank, dann Auswahl der Standard-Reports, dann den Report „Disk Usage by Top Tables“, jederzeit selbst aufrufen.

Die Nintex Workflow NWAdmin Operations

Der Hersteller bietet zu Nintex Workflow (in der jeweiligen Version) die hauseigenen „NWAdmin Operations“ an. Hinter diesen verbirgt sich die per Command Line ausführbare Datei NWAdmin.exe. Unter den möglichen Befehlsoptionen befinden sich zwei Aufrufvarianten, die für eine entsprechende Bereinigung in Frage kommen:

  • NWAdmin.exe –o PurgeHistoryListData (zur Bereinigung der SharePoint Listen vom Typ „Workflow History“)
  • NWAdmin.exe -o PurgeWorkflowData (zur Bereinigung der Workflow-Daten in den Nintex Datenbanken)

Beide Befehlsoptionen werden dabei syntaktisch weiter ausdetailliert, um bspw. den Zeitraum etc. weiter einzuschränken, in dem Workflow-Daten entsprechend entfernt werden sollen. Weitere Details sind sehr gut und umfassend im entsprechenden Handbuch des Herstellers unter PurgeHistoryListData (Version 2016) und PurgeWorkflowData (Version 2016) beschrieben.

Diese beiden Bereinigungsfunktionen, die der Hersteller liefert, können bedenkenlos eingesetzt werden, sofern Sie nicht über zu große Datenmengen, wie im obigen Beispiel zu sehen ist, agieren. Ob die NWAdmin.exe die Bereinigungen in Ihrer SharePoint Umgebung erfolgreich durchführt, können Sie leider nur selbst anhand der Anwendung der beiden Operationen feststellen. Sofern Sie dabei feststellen, dass die Ausführung der Aufrufe nicht endet, sich also die NWadmin.exe aufhängt (und Sie das Tool nicht anwenden können), dann ist ein anderes Vorgehen erforderlich.

Bitte lesen Sie weiter, was zu tun ist, wenn
a) die „NWAdmin Operations“ bei der Bereinigung versagen.
b) Sie die Bereinigung noch stärker optimieren wollen.

Aktionsplan zur Bereinigung und einhergehender Performance Optimierung von Nintex Workflow

Fassen wir die wesentlichen Punkte der Bereinigung von Nintex Workflow zusammen und ergänzen diese zusätzlich um weitere sinnvolle Aktionen, die für eine Optimierung erforderlich sind. Dadurch ergibt sich folgender Aktionsplan:

  • Stellen Sie sicher, dass Sie über ein vollständiges Backup der SharePoint Farm verfügen, bevor Sie die nachfolgenden Maßnahmen durchführen (Sicherheitsnetz)
  • Reduzierung und/oder Abschaltung von Nintex Workflow Verbose Logging (Global)
  • Bereinigung der Nintex Datenbank-Tabelle „dbo.workflowlog“ (in allen Nintex Workflow-Datenbanken)
  • Re-Indexierung und Defragmentierung der Nintex Datenbank (Fragmentierungs-Schwellwert 30%, alle Nintex Datenbanken)
  • Bereinigung von SharePoint Workflow History Listen (alle SharePoint Listen des Typs “Workflow History”)
  • Bereinigung der Nintex Datenbank Tabelle „dbo.workflowprogress“ (in allen Nintex Workflow Datenbanken)

Je nach Umfang der entwickelten Workflows können die Werte der Datenbanktabellen in ihrer Menge drastisch schwanken und sind leider nicht genauer zu beziffern. Für SharePoint Listen sollte die generelle Treshhold Marke von 5.000 Elementen als ein Anhaltspunkt für Optimierungen herangezogen werden. Eine Optimierung/Bereinigung von Nintex Workflow, wie im folgendem beschrieben, kann jedoch immer angewendet werden.

Die o.a. Auflistung ist in ihrer Reihung bereits korrekt wiedergegeben. Von dieser Reihenfolge darf nicht abgewichen werden, da sonst erhebliche Dateninkonsistenzen in Form von Fehlreferenzen ent-stehen können.

Im kommenden Beitrag zum Thema „Nintex Workflow History Clean Up mit Performance Rückgewinnung“ erfahren Sie in einer Step-by-Step-Anleitung genau, wie das Verbose Logging, die Bereinigung der Nintex Datenbank-Tabelle etc. funktionieren.

Ihr nächster Schritt

Sie wünschen eine persönliche Beratung und weitere Informationen über das COMPAREX SharePoint Portfolio? Kontaktieren Sie uns und wir zeigen Ihnen wie SharePoint in Ihrem Unternehmen erfolgreich eingesetzt werden kann.

Jetzt Kontakt aufnehmen


Aktuell und kostenlos: Nutzen Sie die Erfahrung unserer Consultants

SharePoint-Veranstaltungs- und Webinar-Termine:

28.05.2019 | 10:00 - 11:00 Uhr

kostenfreies Webinar

Mehr Informationen »

Migration von Microsoft SharePoint nach Office 365

Unsere Webinare richten sich in erster Linie an Endkunden. Um an dem Webinar teilzunehmen, benötigen Sie lediglich einen Laptop oder PC, einen Internetzugang und ein Headset oder Telefon. Die Übertragung des Webinars passiert über Ihren Webbrowser.

Diesen Artikel teilen

Artikel vom:
15.11.2018

geschrieben von:

TAGS:
Nintex Workflow

Thema:

Kommentieren sie diesen Artikel...

© COMPAREX AG
Zurück nach oben