BC14, Performance RTC vs RTC auf Appl. Server

2. Dezember 2021 16:07

Hallo zusammen,

wenn das öffnen von Pages auf dem Server um Faktor 2 schneller funktioniert als auf den Clients im Citrix bzw. auf meiner lokalen Maschine woran kann das liegen?
Hab mir als Beispiel das öffnen der Verkaufsauftragskarte geholt (2x Externe Partnermodule integriert, keine Extensions).

Dauer auf dem Applikations Server im RTC bis Kopf und Zeilen dargestellt werden, 2 - 2,5 Sekunden (von Hand gestoppt)
Dauer lokal bzw. auf Citrix, ca. 5 - 7 Sekunden (von Hand gestoppt)

Die Installationsdateien sind identisch.
Der Ping zwischen Citrix oder Lokalem Rechner zum ApplikationsServer sind <=1ms.

Habt ihr eine Idee woher die Verzögerung kommt? Ist das normal das über das Netz soviel an Geschwindigkeit/Leistung verloren geht?
Am SQL liegts nicht, die Performance ist top, habe ich bereits mit einem SQl Trace geprüft. Würde mich auch wundern, ist ja im Endeffekt der gleiche Service).
Den Virenscanner haben wir testweise lokal auf dem Rechner auch abgeschaltet, hat auch nicht wirklich Besserung gebracht.
Vorhin habe ich die Ports geändert um zu schauen ob es daran liegt, aber auch das hat das Ergebnis nicht verbessert.

Es fühlt sich einfach etwas nach Kaugummi an und ich weiß nicht ob wir irgendwo noch etwas optimieren können.
Habt ihr noch eine Idee oder muss man damit einfach leben?

Re: BC14, Performance RTC vs RTC auf Appl. Server

2. Dezember 2021 16:20

Hallo,

ich vermute mal, der Citrix liegt auf einer VM?
Wie viele Prozessoren hat der Citrix-VM, und wie viele physikalische CPUs muss er sich teilen?
Wie viele Benutzer arbeiten auf dem Citrix?


Gruß Fiddi

Re: BC14, Performance RTC vs RTC auf Appl. Server

2. Dezember 2021 17:27

ich vermute mal, der Citrix liegt auf einer VM? Ja
Wie viele Prozessoren hat der Citrix-VM, und wie viele physikalische CPUs muss er sich teilen? die info muss ich einholen.
Wie viele Benutzer arbeiten auf dem Citrix?
Ich meine es waren um die 120 Citrix Server, wie viele User kann ich nicht sagen, vermutlich Faktor 10-20.

Im Endeffekt habe ich das gleiche Ergebnis auch bei mir Lokal auf meiner Workstation im Firmennetz ohne Citrix.
Bzw. im Citrix bei Nacht und Nebel wenn ich alleine auf einem Server bin.
Wir haben durchaus in "Rush Hour" Situationen Probleme mit der Auslastung auf unseren Citrix Servern, wo es auch merklich zäher wird.
Das ist aber ein anderes Thema und liegt hauptsächlich an der Auslastung der CPU und den immer weiter ansteigenden Anforderungen und Usern durch HomeOffice.

Kennst du Probleme die im Zusammenhang mit Citrix und NAV-Performance stehen?

Edit:
Gibts irgendwelche Möglichkeiten zu tracen wo die Performance liegen bleibt?
Hab mir mal das Tracing von Google Chrome auf der WebInstanz angesehen, da konnte ich aber nicht wirklich viel rauslesen.
Ist übrigens Overall gleichschnell d.h. auch so ca. 5-6 Sekunden :-(

Re: BC14, Performance RTC vs RTC auf Appl. Server

2. Dezember 2021 17:55

Hallo,

hier hatten wir mal was zu VM und NAV.
Außerdem scheint es noch Probleme mit der Vmxnet3- Netzwerkkarte in VMWare zu geben.http://blog.stryk.info/2017/10/03/general-network-issues-with-windows-and-vmxnet3/

Gruß Fiddi

Re: BC14, Performance RTC vs RTC auf Appl. Server

2. Dezember 2021 17:56

Ricster hat geschrieben:...Die Installationsdateien sind identisch.
Der Ping zwischen Citrix oder Lokalem Rechner zum ApplikationsServer sind <=1ms...

Und die Bandbreite? Ich emfpehle dir dazu PSPing.

Unter folgendem Link ist das Thema "Performance" angesprochen.

Wie ist denn das Verhalten mit anderen Anwendungen? Normalerweise ist der erste Aufruf ein bischen trödelig. Danach sollte es schneller gehen.
Ggf. hilft die Installation eines aktuelleren CUs.

Re: BC14, Performance RTC vs RTC auf Appl. Server

2. Dezember 2021 19:47

m_schneider hat geschrieben:
Ricster hat geschrieben:...Die Installationsdateien sind identisch.
Der Ping zwischen Citrix oder Lokalem Rechner zum ApplikationsServer sind <=1ms...

Und die Bandbreite? Ich emfpehle dir dazu PSPing.


Zwischen meiner Workstation und dem Application Server:
TCP roundtrip latency statistics (post warmup):
Sent = 10, Size = 1000, Total Bytes: 10000,
Minimum = 0.60ms, Maxiumum = 0.72ms, Average = 0.64ms

Bandbreite:
Minimum = 47.73 MB/s, Maximum = 47.73 MB/s, Average = 47.73 MB/s
Das dürfte es auch nicht sein.
Ich werde morgen Abend versuchen NAVPERF (On Github) auszuführen und dann mal schauen was dort rauskommt.

Re: BC14, Performance RTC vs RTC auf Appl. Server

2. Dezember 2021 21:17

Client Differenz Server Differenz
19:03:18,31 19:06:20,61 Thread Create        
19:03:19,03 00:00:00,72 19:06:21,19 00:00:00,58 RegOpenKey        HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\RegisteredProfile
19:03:19,36 00:00:01,06 19:06:21,50 00:00:00,89 RegOpenKey        HKCU\Software\Microsoft\Avalon.Graphics
19:03:19,88 00:00:01,58 19:06:21,75 00:00:01,14 TCP Send       Workstation:XXXXX -> ApplikationsServer.XXXXX
19:03:20,47 00:00:02,17 19:06:22,08 00:00:01,47 TCP Receive        Workstation:XXXXX -> ApplikationsServer.XXXXX
19:03:20,49 00:00:02,19 19:06:22,09 00:00:01,48 RegOpenKey        HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
19:03:21,28 00:00:02,97 19:06:22,46 00:00:01,85 TCP Receive        Workstation:XXXXX -> ApplikationsServer.XXXXX

19:03:21,49 00:00:03,18 19:06:22,56 00:00:01,96 RegOpenKey        \InprocServer32
19:03:21,81 00:00:03,50 19:06:23,12 00:00:02,51 Thread Exit


Hab jetzt mal noch im Prozessmonitor das wiederholte öffnen (dreimal geöffnet, dann erst getrackt) verglichen.
War jetzt schon spät, d.h. nicht mehr ganz soviel los auf den Systemen (bzw. hab wohl ne langsame Server Ausführung getrackt...)
Und mir dann einfach mal ein paar prägnante Events rausgeholt.
Und was mir auffiel ist, dass in diesem Mittelteil, mit den ganzen TCP Receive und TCP Sends die meiste Zeit verloren geht.
Weiß jetzt nicht was mir das sagt außer dass es evtl. doch am Netzwerk liegt bzw. an der Verarbeitung.

Mich würde mal interessieren wie schnell bei euch so die Verkaufsauftragsmaske öffnet, d.h. von klick auf Ansicht/Bearbeiten bis die Zeilen dargestellt sind.

Re: BC14, Performance RTC vs RTC auf Appl. Server

3. Dezember 2021 14:12

Ricster hat geschrieben:...
Bandbreite:
Minimum = 47.73 MB/s, Maximum = 47.73 MB/s, Average = 47.73 MB/s
Das dürfte es auch nicht sein...

Richtig viel ist das allerdings nicht. Und dazu gehört ja ggf. auch noch eine Abfrage an den DB-Server

Wie hoch ist denn die Bandbreite zwischen DB-Server und NAV Server?

Ricster hat geschrieben:Mich würde mal interessieren wie schnell bei euch so die Verkaufsauftragsmaske öffnet, d.h. von klick auf Ansicht/Bearbeiten bis die Zeilen dargestellt sind

Beim ersten Mal ca. fünf Sekunden und beim zweiten 2 sec.

Re: BC14, Performance RTC vs RTC auf Appl. Server

3. Dezember 2021 15:12

Die Pages enthalten ja noch viel Code in den Triggern (OnOnPage,OnAfterGetRecord,OnAfterGetCurrRecord), den kann man ggf. schrittweise deaktivieren, um die Flaschenhälse einzukreisen.
Hier geht es zwar um BC 13 bzw. NAV 2018, ist aber in BC 14 auch nicht besser: Addressing Performance Problem in Dynamics NAV and Dynamics 365 Business Central

Die Pageperformance ist leider in alten Versionen aus diversen technischen Gründen grundsätzlich nicht die beste, das wurde von MS erst später mit dem sogenannten "Ghosting" angegangen, siehe Keynote von den Techdays 2019 hier.

Welches CU ist denn im Einsatz?

Re: BC14, Performance RTC vs RTC auf Appl. Server

3. Dezember 2021 15:37

Hallo,

ich habe dieses Problem eigentlich nicht mehr. Ein ganz besonderer Kandidat für langsame Pages ist eigentlich die Übersicht der gebuchten Rechnungen. Wir waren hier schon bei einigen Kunden bei ca. 2.5 Minuten zum öffnen der Übersicht. Nach einer kleinen Anpassungen (die man leider in BC365 nicht durchführen kann ohne die Base-App anzufassen) sind eigentlich 10 Sekunden das Maximum.

Meist sind suboptimale oder zu viele Flowfields der Übeltäter für langsame Pages. Bei den ungebuchten Beleg- Pages kommt die Berechnung der Rechnungsrabatte als zusätzliche Bremse dazu (auch die habe ich in NAV komplett entfernt und durch die im Belegkopf vorhandene Funktion ersetzt, was dazu führt, dass die Auftragserfassung mit 150- Zeilen langen Aufträgen keinerlei Probleme mehr hat, den Rechnungsrabatt aktuell zu halten)

Das größte Problem ist also meist zu wenig Gehirneinsatz bei der Programmierung. :-? 8-)

Es gibt aber auch noch das Netzwerkkarten- Problem unter VMware. Hast du schon mal die Netzwerkkarte der VMs auf einen "e1000" umgestellt.

Gruß Fiddi