1.7.11 ADVOKAT Performanceprobleme

Ausgangssituation

  • Der Programmstart von ADVOKAT dauert sehr lange.

  • Das Öffnen der Module Aktenverwaltung oder Dokumentverwaltung dauert sehr lange.

  • Die Verwendung des Suchassistenten und der dynamischen Suche dauert sehr lange.

  • Die Erstellung und/oder das Öffnen von Dokumenten (Beispiel: Word-Dokumente) über ADVOKAT dauert sehr lange.

  • Bei Verwendung der Dokumentvorschau in ADVOKAT erscheint das Fenster "Kopieren von ..." und ADVOKAT reagiert nicht.

Ursache
Es gibt mehrere mögliche Ursachen, es können auch mehrere gleichzeitig zutreffen:

  1. Der File- und/oder Datenbankserver ist veraltet, es fehlen Windows Updates.

  2. Der File und/oder Datenbankserver ist zu stark ausgelastet.

  3. Die Microsoft SQL Instanzen für ADVOKAT am Datenbankserver sind hinsichtlich CPU und RAM zu streng limitiert.

  4. Die Anwender nutzen ADVOKAT auf einem externen Gerät (Arbeitsplatz) welches per VPN-Client angebunden ist.

  5. Die Anpassungen laut Kapitel ADVOKAT und Antivirensoftware wurden nicht umgesetzt.

Lösung

  1. Prüfen Sie ob ADVOKAT ohne Microsoft SharePoint verwendet wird. Mehr Informationen dazu finden Sie im Kapitel ADVOKAT mit Microsoft SharePoint.
    Bei der Verwendung von ADVOKAT mit Microsoft SharePoint wechseln Sie zum Kapitel ADVOKAT mit Microsoft SharePoint - Performanceprobleme.

  2. Beschränken sich die Performanceprobleme auf das Öffnen von Akten, so versuchen Sie das Kapitel Öffnen von Modulen beschleunigen umzusetzen, bevor Sie mit Schritt 3 fortfahren.

  3. Stellen Sie sicher, dass ADVOKAT Version 6.27f oder höher verwendet wird. Im Bedarfsfall führen Sie ein ADVOKAT Update durch, siehe Kapitel ADVOKAT Update.

    • In den Versionen 6.27c, 6.27d und 6.27e gibt es durch ADVOKAT verursachte Performanceprobleme.

    • Welche Version im Einsatz ist kann per Menüpunkt "?" > "Info" in der Zeile "Programmversion" ermittelt werden.

  4. Stellen Sie am Datenbankserver sicher, dass alle verfügbaren Windows Updates für Microsoft SQL eingespielt sind.
    Stellen Sie auch am Datenbankserver sicher, dass die CPU-, RAM- und Datenträgerauslastung nicht konstant höher als 80% sind.

    • Es müssen genügend freie Ressourcen für Betriebssystem von Microsoft SQL Server und zur Verfügung stehen.

  5. Stellen Sie sicher, dass ADVOKAT nicht auf externen Geräten (Arbeitsplätzen) außerhalb des Domänennetzwerks per VPN-Client verwendet wird.

    • Wir raten von dem Betrieb auf externen Geräten per VPN-Client ab, die Performance leidet zu stark darunter.

    • Stattdessen ist ADVOKAT auf Arbeitsstationen oder Terminalservern innerhalb des Domänennetzwerks zu verwenden, siehe Kapitel Hinweise.

  6. Prüfen Sie ob ADVOKAT auf Terminalservern verwendet wird. Falls dies zutrifft kontrollieren Sie diese Einstellung, andernfalls wechseln Sie zu Schritt 7.

    • Rufen Sie in den Systemeigenschaften "Erweiterte Systemeinstellungen" > Bereich Leistung "Einstellungen ..." > Reiter "Datenausführungsverhinderung" auf.
      Ist die Option "Datenausführungsverhinderung für alle Programme und Dienste mit Ausnahme der ausgewählten einschalten" aktiviert, setzen Sie folgende Ausnahmen:

      • C:\Program Files (x86)\Advokat\A4Wrapper.exe

      • C:\Program Files (x86)\Advokat\A4Worker.exe

      • C:\Program Files (x86)\Advokat\Advokat3.exe

      • C:\Program Files (x86)\Advokat\A3Mailer.exe

      • C:\Program Files (x86)\Advokat\Advokat_Telefonassistent.exe

      • C:\Program Files (x86)\Advokat\ERVBoxWorker.exe
         

  7. Stellen Sie sicher, dass der Zugriff von allen Geräten (Workstations und Terminalserver) auf den Fileserver performant ist. Beim verwendeten SMB-Protokoll (SMB 2.0 und neuer) verwendet Microsoft Windows einen Network Redirector.
    Dessen Verhalten wird durch Registry-Einträge unter [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters] gesteuert. Mehr Informationen finden Sie in diesem Microsoft Artikel.

    • Erstellen Sie den Eintrag "DirectoryCacheLifetime" vom Typ REG_DWORD und vergeben den Wert 0. Ist dieser Eintrag bereits vorhanden, dann ändern Sie dort den Wert auf 0.

    • Erstellen Sie den Eintrag "FileInfoCacheLifetime" vom Typ REG_DWORD und vergeben den Wert 0. Ist dieser Eintrag bereits vorhanden, dann ändern Sie dort den Wert auf 0.

    • Erstellen Sie den Eintrag "FileNotFoundCacheLifetime" vom Typ REG_DWORD und vergeben den Wert 0. Ist dieser Eintrag bereits vorhanden, dann ändern Sie dort den Wert auf 0.

      • Stellen Sie sicher, dass das Gerät (gilt für Workstations und Terminalserver) neu gestartet wird, damit die Änderungen der Registry wirksam werden.

      • Ab einer bestimmten Anzahl von Geräten ist die Auslieferung dieser Registry-Einträge per Gruppenrichtlinie empfehlenswert.

  8. Stellen Sie sicher, dass alle Anpassungen laut Kapitel ADVOKAT und Antivirensoftware vollständig und lückenlos umgesetzt wurden.

  9. Befolgen Sie Schritt 1 bis 3 laut Kapitel Microsoft Word Makros blockiert auf allen Arbeitsplätzen.

    • Damit ist gewährleistet, dass Word-Dokumente so schnell als möglich erstellt bzw. geöffnet werden, Word diese Vorgänge also nicht verlangsamt.

    • Ab einer bestimmten Anzahl von Geräten ist die Auslieferung dieser Einstellungen (Registry-Einträge) per Gruppenrichtlinie empfehlenswert.

  10. Prüfen Sie ob der File-. Terminal- (falls vorhanden) und Datenbankserver per Microsoft Hyper-V virtualisiert sind. Trifft dies zu passen Sie diese Einstellungen an, andernfalls wechseln Sie zu Schritt 11.

    • Öffnen Sie am Hyper-V Host in der Systemsteuerung im Bereich "Geräte-Manager" unter Netzwerkadapter die Eigenschaften des physischen Netzwerkadapters und des Netzwerkadapters "Hyper-V Virtual Ethernet Adapter".

      1. In der Registerkarte "Erweitert" passen Sie die Werte bei folgenden Eigenschaften an. Starten Sie den Netzwerkadapter per PowerShell mit Befehl Restart-NetAdapter -Name "Name hier einfügen" neu.

        • Large Send Offload Version 2 (IPv4) > Disabled

        • Large Send Offload Version 2 (IPv6) > Disabled

        • Receive Side Scaling > Disabled

        • Recv Segment Coalescing (IPv4) > Disabled

        • Recv Segment Coalescing (IPv6) > Disabled

      2. Sind durch Punkt A keine Verbesserungen eingetreten, dann passen Sie die Werte bei folgenden Eigenschaften zusätzlich an. Starten Sie den Netzwerkadapter per PowerShell mit Befehl Restart-NetAdapter -Name "Name hier einfügen" neu.

        • IPv4 Checksum Offload (IPv4-Prüfsummen abladen) > Disabled (Deaktiviert)

        • TCP Checksum Offload (IPv4) [TCP-Prüfsummen abladen (Ipv4)] > Disabled (Deaktiviert)

        • TCP Checksum Offload (IPv6) [TCP-Prüfsummen abladen (Ipv4)] > Disabled (Deaktiviert)

        • UDP Checksum Offload (IPv4) [UDP-Prüfsummen abladen (Ipv4)] > Disabled (Deaktiviert)

        • UDP Checksum Offload (IPv6) [UDP-Prüfsummen abladen (Ipv4)] > Disabled (Deaktiviert)

    • Öffnen Sie am File-, Terminal- (falls vorhanden) und Datenbankserver in der Systemsteuerung im Bereich "Geräte-Manager" unter "Netzwerkadapter" die Eigenschaften des verwendeten Netzwerksadapters.

      • Wiederholen Sie die Anpassungen welche zuvor am Hyper-V Host umgesetzt wurden.

  11. Sicherstellen, dass ADVOKAT und Microsoft Office Outlook auf allen Arbeitsplätzen geschlossen sind.

    • ADVOKAT Frontend auf einer Arbeitsstation oder Terminalserver starten.

    • Am Startbildschirm von ADVOKAT "STRG + SHIFT + Doppelklick linke Maustaste" drücken.

    • Option "Advokat Programmstart sperren" aktivieren

    • Im Fenster "Optional zusätzlicher Text für die Meldung" einen Informationstext eingeben, Beispiel: ADVOKAT Update von 12:00 bis 12:15 Uhr.

      Auf allen anderen Geräten kann ADVOKAT nun nicht mehr gestartet werden.
      Alle Benutzer, welche sich zu diesem Zeitpunkt noch im Programm befinden werden nach einer Wartefrist von 5 Minuten getrennt.

  12. Passen Sie die Konfiguration am Datenbankserver per Microsoft SQL Management Studio für die relevante Microsoft SQL Instanz an:

    • Servereigenschaften > Arbeitsspeicher

      • Mindestmenge an Serverarbeitsspeicher (in MB): Dieser Wert ist zu erhöhen, etappenweise um 2048 MB.

      • Maximaler Serverarbeitsspeicher (in MB): Dieser Wert ist zu erhöhen, etappenweise um 2048 MB, maximal 80% des verfügbaren Arbeitsspeichers.

    • Beachten Sie, dass dieser Schritt einen Neustart der Microsoft SQL-Instanz bzw. des Microsoft SQL Server benötigt und damit nicht im laufenden Betrieb möglich ist.
       

  13. Navigieren Sie zur Konfigurationsdatei "...\ADVOKAT\Daten\Advokat.ini" und öffnen Sie diese mit einem Texteditor.
    Ersetzen Sie bei folgenden Parametern den Servernamen des Datenbankserver durch die IPv4-Adresse: DATENBANK, TABELLBANK, ERVBANK, MAILBANK, TEMPBANK, BUCHHALTUNG

    Durch diesen Schritt wird sichergestellt, dass eine wiederholte, fehlschlagende Namensauflösung des Datenbankservers nicht für Verbindungsabbrüche und Performanceprobleme sorgt.
    Bei Angabe der IPv4-Adresse findet die Namensauflösung nicht statt, mögliche DNS-Probleme werden dadurch vermieden.
     

  14. Befolgen Sie Schritt 1 bis 2 laut Kapitel Microsoft SQL Datenbanken einsehen und setzen anschließend wie folgt fort:

    1. Nach dem erfolgreichen Verbindungsaufbau werden in der linken Spalte "Objekt-Explorer" beim Unterpunkt "Datenbanken" alle verfügbaren Datenbanken angezeigt.

      • Es ist bei jeder Datenbank mit Bezeichnung "ADVOKAT_..." per Rechtsklick > "Optionen" aufzurufen.

    2. Im Fenster "Datenbankeneigenschaften - ADVOKAT_..." wählen Sie links die Seite "Optionen" aus. Bei den Optionen prüfen Sie den Inhalt des Feldes "Kompatibilitätsgrad".

      • Es muss "SQL Server 2017 (140)" oder neuer angezeigt werden. Ist ein älterer Kompatibilitätsgrad angegeben, dann ändern Sie diesen auf "SQL Server 2017 (140)".

    3. Wiederholen Sie Schritt B für jede Datenbank mit Bezeichnung "ADVOKAT_...".

      • Beachten Sie, dass anschließend ein Neustart der Microsoft SQL-Instanz bzw. des Microsoft SQL Server benötigt wird und damit nicht im laufenden Betrieb möglich ist.

    4. Führen Sie folgende zwei SQL-Befehle für die Datenbanken mit folgender Bezeichnung aus: ADVOKAT_DATEN, ADVOKAT_TABELLEN
      Falls die Datenbanken bei Ihnen nicht exakt diese Bezeichnung haben, dann ist im Skript die Bezeichnung in Zeile 6 anzupassen

      DECLARE @Table NVARCHAR(255) DECLARE @cmd NVARCHAR(1000) -- Hier den richtigen Namen der Datenbank eingeben SET @cmd = 'DECLARE TableCursor CURSOR READ_ONLY FOR SELECT ''['' + table_catalog + ''].['' + table_schema + ''].['' + table_name + '']'' as tableName FROM [Advokat_DATEN].INFORMATION_SCHEMA.TABLES WHERE table_type = ''BASE TABLE''' -- create table cursor EXEC (@cmd) OPEN TableCursor FETCH NEXT FROM TableCursor INTO @Table WHILE @@FETCH_STATUS = 0 BEGIN BEGIN TRY SET @cmd = 'ALTER INDEX ALL ON ' + @Table + ' REORGANIZE' PRINT @cmd -- uncomment if you want to see commands EXEC (@cmd) END TRY BEGIN CATCH PRINT '---' PRINT @cmd PRINT ERROR_MESSAGE() PRINT '---' END CATCH FETCH NEXT FROM TableCursor INTO @Table END CLOSE TableCursor DEALLOCATE TableCursor

       

      DECLARE @Table NVARCHAR(255) DECLARE @cmd NVARCHAR(1000) -- Hier den richtigen Namen der Datenbank eingeben SET @cmd = 'DECLARE TableCursor CURSOR READ_ONLY FOR SELECT ''['' + table_catalog + ''].['' + table_schema + ''].['' + table_name + '']'' as tableName FROM [Advokat_TABELLEN].INFORMATION_SCHEMA.TABLES WHERE table_type = ''BASE TABLE''' -- create table cursor EXEC (@cmd) OPEN TableCursor FETCH NEXT FROM TableCursor INTO @Table WHILE @@FETCH_STATUS = 0 BEGIN BEGIN TRY SET @cmd = 'ALTER INDEX ALL ON ' + @Table + ' REORGANIZE' PRINT @cmd -- uncomment if you want to see commands EXEC (@cmd) END TRY BEGIN CATCH PRINT '---' PRINT @cmd PRINT ERROR_MESSAGE() PRINT '---' END CATCH FETCH NEXT FROM TableCursor INTO @Table END CLOSE TableCursor DEALLOCATE TableCursor

         

  15. Sperre des Programmstarts aufheben, starten Sie ADVOKAT am gleichen Gerät wie bei Schritt 11, es erscheint folgende Meldung, welche Sie mit "Ja" bestätigen: Soll die Sperre für die anderen Benutzer wieder aufgehoben werden?

  16. Stellen Sie sicher, dass am File- und Datenbankserver die verwendete Lösung zur Sicherung der Daten und/oder eine Serverreplikation diese Geräte nicht zu stark auslastet.
    Im Zweifelsfall sind Datensicherung und Replikation zeitlich so abzuändern, dass diese außerhalb der Arbeitszeiten der Anwender erfolgen.

  17. Helfen die vorigen Schritte nicht und man nimmt weiterhin an, dass der Datenbankserver die Performanceprobleme verursacht, so müssen dieser Maschine weitere Ressourcen (CPU-Kerne und Arbeitsspeicher) zugewiesen werden.

Copyright © 2024 ADVOKAT Unternehmensberatung GREITER & GREITER GmbH - Impressum ->https://advokat.at/Impressum.aspx