hubtus
Goto Top

C-tree Datenbankperformance

Hallo!

Unsere Praxisverwaltung basiert auf einer c-tree Datenbank. Programmdateien liegen auf einem Windows Server 2019. Der Zugriff von den Clients (Win7 & Win10) erfolgt via Laufwerksmapping auf die Freigabe am Server ("Z:" --> \\server\freigabe)
Verzeichnisstruktur aus Sicht der Clients:
Programmverzeichnis Z:\installationsverzeichnis\*.exe
Datenbankverzeichnis Z:\installationsverzeichnis\DB\*.dat

Es läuft kein Datenbank-Server. Sämtliche Clients greifen auf die einzelnen *.dat zu und holen sich ihre Daten mit einer super Performance. Auch große Karteikarten werden in <1Sek. geladen und angezeigt.

Bei einem Kunden (ich weiß nicht, ob das Phänomen nur bei ihm auftritt oder nur er so ungeduldig ist...) ist der Zugriff genauso schnell wie oben beschrieben, solange nur an einem Client das Programm (C++) geöffnet ist. Sobald an einem zweiten Rechner das Programm geöffnet ist -nur geöffnet(!), ohne dass auf irgendwelche Daten zugegriffen wird- dauert der Zugriff auf die Karteikarte bis zu 5 Sekunden.

Ich kann mir dieses Phänomen nicht erklären. Wenn keine Daten abgerufen werden, wird lt. Entwickler auch nicht auf irgendwelche Dateien am Server zugegriffen. Von daher müsste es eigentlich egal sein an wievielen Rechnern das Programm läuft.

Der Installationspfad ist beim Virenscanner an sämtlichen Clients als Ausnahme eingetragen.

Kennt jemand dieses Phänomen? An welcher Schraube muss ich drehen?

Danke für Eure Ideen.

Content-ID: 510593

Url: https://administrator.de/contentid/510593

Ausgedruckt am: 22.11.2024 um 18:11 Uhr

NordicMike
NordicMike 31.10.2019 um 12:06:22 Uhr
Goto Top
Es gibt kein Programm mit dem Namen C++, das ist eine Programmiersprache und wird von vielen IDE`s verwendet. Schau mal, wie das Programm wirklich heisst und schau mit einem Procmon auf welche Pfade es zugreifen will.
Hubtus
Hubtus 31.10.2019 um 12:14:45 Uhr
Goto Top
Niemand hat gesagt, dass es der Name des Programms ist. Natürlich ist es die Sprache...
Der Name des Programms trägt nichts zu Lösung bei.
Die Pfade stehen im Text.
akretschmer
akretschmer 31.10.2019 um 12:31:43 Uhr
Goto Top
ich finde es ja erstaunlich, daß solche Lösungen aus den 80igern des letzten Jahrtausend noch heute im Einsatz sind.

Da gibt es inzwischen gut etablierte Client-Server - Datenbanken. Datenbanken via Netzwerkfreigaben zu betreiben, auf die mehrere Clients gleichzeitig zugreifen, ist keine zeitgemäße Lösung.

Evtl. rühren die zeitlichen Probleme von irgend welchen Namensauflösungen her (Stichwort winbind etc.), vermutlich sind es aber schlicht locking-Probleme.
NordicMike
NordicMike 31.10.2019 um 13:04:57 Uhr
Goto Top
Zitat von @Hubtus:...
Der Name des Programms trägt nichts zu Lösung bei.
Wenn es ein bekanntes Programm ist, könnte jemand seine Erfahrungen dazu betragen was das Programm so macht, während es „nur startet“.

Es sei denn, es ist etwas selbst geschriebenes, dann weiss es nur der Konstrukteur was es macht.
sabines
sabines 31.10.2019 aktualisiert um 13:20:46 Uhr
Goto Top
Zitat von @Hubtus:
Bei einem Kunden (ich weiß nicht, ob das Phänomen nur bei ihm auftritt oder nur er so ungeduldig ist...) ist der Zugriff genauso schnell wie oben beschrieben, solange nur an einem Client das Programm (C++) geöffnet ist. Sobald an einem zweiten Rechner das Programm geöffnet ist -nur geöffnet(!), ohne dass auf irgendwelche Daten zugegriffen wird- dauert der Zugriff auf die Karteikarte bis zu 5 Sekunden.

Zitat von @Hubtus:

Niemand hat gesagt, dass es der Name des Programms ist. Natürlich ist es die Sprache...
Der Name des Programms trägt nichts zu Lösung bei.
Die Pfade stehen im Text.

Moin,

so viel Freundlichkeit und Informationen sind wirklich selten.
Wenn Du (C++) in (geschrieben in C++) änderst dürfte es klarer werden.
Dass Du mit Procmon die Pfade überprüfen sollst, wie @NordicMike geschrieben hat, und nicht hier angeben musst hast Du schon verstanden?
Alternativ könntest Du mit Wireshark arbeiten.

Gruss