Mehrplatzversion Datenzugriff manchmal langsam

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von brandelh »

Das stimmt so nicht. Nach einem Bericht den ich mal gelesen habe (und aus eigener Erfahrung) ist bei neuen Festplatten im ersten Jahr mit etwa 20% Ausfällen zu rechnen.
Nach dem ersten Jahr sinken die Ausfallzahlen sehr stark, steigen aber nach 4 Jahren wieder an. Ein 15 Jahre alter Rechner kann noch 10 halten (ob er dann noch schnell genug ist ?),
aber die Wahrscheinlichkeit spricht dagegen.

Vom Stromverbrauch der alten Kisten und der Geräuschkulisse ganz zu schweigen.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von AUGE_OHR »

brandelh hat geschrieben:Vom Stromverbrauch der alten Kisten und der Geräuschkulisse ganz zu schweigen.
ist ja 1 Server ;)

wir driften vom Thema ab. Tatsache ist das ein Windows P2P Netzwerk ohne echten (File) Server mit Cl*pper / Xbase++ und DBF / Index Dateien Probleme hat wenn mehr als 5 (?) Resourcen ( auch Drucker ) im Netzwerk sind. Es tritt dann vermehrt die SMB Probleme auf.
Deshalb gibt es ja Server wo man zusätzliche Lizenzen ( CAL ) kaufen kann / muss wenn mehr als 5 Resourcen benötigt werden.

auch muss man daran denken das Windows ein Notebook was mal angeschlossen war immer noch in seinem DNS Cache haben könnte auch wenn das Notebook längst nicht mehr existiert.

@Bernd : hast du KB150384 mal ausprobiert ?
das ist übrigens, wie auch die Tips von Rolf, aus einem Alaska PDF ( Usertreffen 2009 )
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von brandelh »

Hi,

ist schon etwas älter, aber die Frage war:
Frage hat geschrieben: DBE_Lockmode steht bei ntxdbe. muss das dann bei component_order oder component_data eingetragen werden.
...
DbeInfo (COMPONENT_DATA, DBE_LOCKMODE, LOCKING_EXTENDED)
Gruß
Bernd
BrandelH hat geschrieben: in der CH Datei !
Hier:
#include "Dmlb.ch"
#include "DbfDbe.ch"
wahrscheinlich muss man es für beides angeben, aber in der CH Datei sieht man genau was es wo gibt und wo nicht ...
Ansonsten probieren und den compiler entscheiden lassen ;-)
der Tipp war nicht richtig. Da ja diese ganzen DEFINE Werte einfach in Zahlen übersetzt werden, ist eine falsche Angabe nicht ohne weiteres vom Compiler zu erkennen !

DBE_LOCKMODE - dem Namen nach müsste es für alle DBEs gelten, aber ... es geht ja um die Sperre der INDEXDATEI beim Skippen / Seeken ...

In der Hilfe steht der Eintrag zu DBE_LOCKMODE (aktuell) nur bei NTXDBE und CDXDBE ... somit nur in der ORDER Komponente.
In den CH Dateien steht es auch zusammen und DBFDBE_LOCKMODE meint etwas ganz anderes !

Also ist diese Angabe ausschließlich bei der ORDER Komponente anzugeben, Beispiel:

Code: Alles auswählen

DbeInfo (COMPONENT_ORDER, DBE_LOCKMODE, LOCKING_EXTENDED)
Angaben die in beiden Arten vorkommen, sollten wohl beide gleich gesetzt werden.
Gruß
Hubert
Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Bernd Reinhardt »

Hallo
Ich habe nun beim Kunden einiges versucht. Arbeite mit 1.9.335 (SL1) und allen Hotfixes.
Anbei mal die wesentlichen Auszüge aus meinem Programm.

SETMOUSE(.T.)
setcolor(SAYGET)
set cursor OFF

SET EXCLUSIVE OFF
lNetzwerk := .t.
SET DELETED ON
SET EXACT ON
SET UNIQUE OFF
SET CONFIRM ON
SET CURSOR OFF
SET DELIMITERS OFF
SET DATE GERMAN
SET CENTURY OFF
SET SCOREBOARD OFF
SET WRAP ON
*
* Neue Funktionen
*
SET SOFTSEEK ON && Suche ähnlichsten Datensatz, falls nicht gefunden (#SEEK)
READEXIT(.t.) && Cursor Hoch/Cursor Runter als Beenden-Taste f. READ
*
SET EPOCH TO (YEAR(DATE()) - 40)

x1Ergebnis := DbeInfo (COMPONENT_DATA , DBFDBE_LOCKMODE,LOCKING_EXTENDED)
x2Ergebnis := DbeInfo( COMPONENT_DATA , DBFDBE_LOCKRETRY, 100) // Ändern der Werte hat auch nichts gebracht.
x3Ergebnis := DbeInfo( COMPONENT_DATA , DBFDBE_LOCKDELAY, 5)
x4Ergebnis := DbeInfo( COMPONENT_ORDER, NTXDBE_LOCKRETRY, 100)
x5Ergebnis := DbeInfo( COMPONENT_ORDER, NTXDBE_LOCKDELAY, 5)
x1Ergebnis := DbeInfo (COMPONENT_ORDER, DBE_LOCKMODE, LOCKING_EXTENDED)
altd() // Zum prüfen ob was richtiges in xErgebnis steht.

DbeLoad( "ODBCDBE" ) // benötige ich an einer Stelle deshalb wird auch noch odbc geladen hat hierzu aber keine Bedeutung
in x?Ergebnis erhalte ich immer richtige werte. Nur so zum sehen das der Befehl auch erkannt wird.
Wenn NIL kommen würde, wäre der Befehl falsch eingetragen.

Ich habe mir die Zeiten mal in eine Datei geschrieben um zu sehen wo es zur Verzäögerung kommt
USE (pfad_dp + cDatabase) // Dieser Befehl wird immer in kleiner 1 sec. abgearbeitet

SET INDEX TO (pfad_dp + "dkfz1.ntx"), ;
(pfad_dp + "dkfz2.ntx"), ;
(pfad_dp + "dkfz3.ntx") // Dieser Befehl benötigt manchmal bis zu 20 sec. manchmal auch kleiner 1 sec

Es sind drei Programme welche gleichzeitig arbeiten und die Dateien zum lesen öffnen. Für kurze Zeit wird auch mal ein
Datensatz geschrieben (über Rlock).
Manchmal läuft alles ganz gut, und plötzlch muss ein Arbeitsplatz bis zu 16 sec warten.
Komisch das use sofort geht, nur die Indexe manchmal so lange benötigen.
Kein FLOCK und kein EXCLUSIVE
Wo könnte ich noch suchen. Das Problem tritt bei anderen Kunden auch auf, dort liegen wir aber meist bei
ein paar Sekunden, so das das nicht ganz so nervt. 16-20 sec nerven aber schon zum öffnen der Indexdateien.
Die Datenbank ist ca. 5MB groß die Indexe ca. 300kb also nichts was über das Netzwerk lange braucht.

Noch irgend eine Idee wo ich noch anpacken könnte.

Das Problem tritt leider nur sporatisch auf und lässt sich nicht erzwingen.

Gruß
Bernd
Bernd Reinhardt
fa.reinhardt@gmx.de
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von AUGE_OHR »

Bernd Reinhardt hat geschrieben:Ich habe mir die Zeiten mal in eine Datei geschrieben um zu sehen wo es zur Verzäögerung kommt
USE (pfad_dp + cDatabase) // Dieser Befehl wird immer in kleiner 1 sec. abgearbeitet

SET INDEX TO (pfad_dp + "dkfz1.ntx"), ;
(pfad_dp + "dkfz2.ntx"), ;
(pfad_dp + "dkfz3.ntx") // Dieser Befehl benötigt manchmal bis zu 20 sec. manchmal auch kleiner 1 sec

... Komisch das use sofort geht, nur die Indexe manchmal so lange benötigen.
interessant ... wie ist den der Index Ausdruck ( IndexKey ) von "dkfz3.ntx" ?
schon mal versucht die Indexe in anderer Reihenfolge zu öffnen ?
ich nehme man an das du die IMMER alle Indexe von eine DBF öffnest ?

wird der NTX Index "gepflegt" ? Re-Index oder neu Create-Index ?
hast du evtl. viele "gelöschte" Datensätze ?
hast du "Dubletten" wo der IndexKey() der selbe ist ?
bei Cl*pper Source sollte man SET OPTIMIZE OFF verwenden
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von brandelh »

AUGE_OHR hat geschrieben:wird der NTX Index "gepflegt" ? Re-Index oder neu Create-Index ?
REINDEX war für dbase, damit man den Indexbegriff nicht dauernd eingeben musste.
Eine moderne EXE löscht die Indexdatei und baut sie neu auf.
Gruß
Hubert
Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Bernd Reinhardt »

Hallo.
In gewissen Zeitabständen werden die Datenbanken bereinigt (pack) und die Indexe gelöscht neu aufgebaut.
Reindex verwende ich so gut wie nicht mehr.
Die Indexdateien sind einfach.
dkfz1 geht auf das Characterfeld (12stellig) kfzcode (dk_code)
dkfz2 geht auf das Chrarcterfel (12stellig) kennzeichen (dk_kennz)
dkfz3 auf das Characterfeld (6stellig) Spediteurnummer (dk_spenr)
die 3 Indexe werden gleichzeitig geöffnet (die Trennung mit Semikolon in drei Zeilen dient nur meiner Übersicht).
Der Effekt tritt dann auf, wenn auf allen drei Arbeitsplätzen gearbeitet wird.
Da der use immer schnell geht, zeigt ja das die Datenbanken geöffnet werden können (sharable)
Wie so das dann mit den Indexdateien nicht geht verstehe ich nicht.
Wenn auf einem Arbeitsplatz die Datenbank offen ist, so geht es auf den anderen Plätzen auch schneller.
Nur wenn auf den Arbeitsplätzen ein öffnen / schließen der Datenbanken erfolgt, so scheint es hier zu
Zeitproblemen zu kommen.

Gruß
Bernd
Bernd Reinhardt
fa.reinhardt@gmx.de
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von AUGE_OHR »

Bernd Reinhardt hat geschrieben:Der Effekt tritt dann auf, wenn auf allen drei Arbeitsplätzen gearbeitet wird.
Da der use immer schnell geht, zeigt ja das die Datenbanken geöffnet werden können (sharable)
Wie so das dann mit den Indexdateien nicht geht verstehe ich nicht.
Frage : hast du eine DBESYS ? wenn ja bitte mal zeigen.
hast du den Tip http://support.microsoft.com/kb/150384 ausprobiert ? ( und "wo" angewendet ? )
Bernd Reinhardt hat geschrieben:Wenn auf einem Arbeitsplatz die Datenbank offen ist, so geht es auf den anderen Plätzen auch schneller.
Nur wenn auf den Arbeitsplätzen ein öffnen / schließen der Datenbanken erfolgt, so scheint es hier zu
Zeitproblemen zu kommen.
SMB und File basierende Systeme ...
gruss by OHR
Jimmy
Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Bernd Reinhardt »

Hallo.

Ich habe die beiden Schlüssel in der Registry eingefügt. Die deutsche Übersetzung ist falsch, im Originaltext steht es aber richtig.

Ich bin auch so etwas weiter.
Es hängt mit den Indexen zusammen, aber nicht nur beim öffnen.
Wenn ich auf drei rechnern ein Programm starte welches z. B. eine
Kundendatei bearbeitet.
Wenn nun alle drei gleichzeitig Änderungen an den Datensätzen vornehmen, so
kommt es immer wieder vor, das plötzlich die Programme hängen, und es nach
ca. 20-30 sec dann wieder weiter geht.
Wenn ein Arbeitsplatz Änderungen macht, und der zweite die Datei öffnet, dann kommt es auch
vor das das öffnen der Indexdatei 20-30 sec dauert.
Hier scheint es ganz offensichtlich bei der Änderung der Indexe (die dazu ja xBase intern exclusive geöffnet werden)
zu Problemen zu kommen. Inzwischen habe ich mal bei meinen Kunden nachgefragt und erfahren, das fast alle,
welche Mehrplatzbedienung haben, diesen Effekt schon festgestellt haben. Er ist nur nicht oft aufgetreten.

Aber ohne Indexe zu arbeiten ist auch keine Lösung.
In der Beschreibung von xBase sehe ich aber keinen Unterschied in diesem Bereich bei CDX und NTX Dateien.
Also könnte ich zwar auf CDX umstellen, aber ich verspreche mir hier auch keinen Erfolg.

Hat wirklich noch niemand aus meinen Kunden diesen Effekt festgestellt?
Die Hardware ist ausreichend (WIN 7 WIN XP läuft schnell und gut) und auch die Netzwerkverbindung steht stabil.

Die einzige Möglichkeit wäre dann wohl ADS-Server, oder gibt es noch eine aktuell funktionierende Lösung.

Gruß
Bernd
Bernd Reinhardt
fa.reinhardt@gmx.de
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Tom »

Die Sperrung von Indexdateien für Navigation und Schreib-/Leseoperationen liegt im Millisekundenbereich. Selbst bei intensiver Mehrplatznutzung dürfte es keine Latenzen in der Größenordnung von halben Minuten geben, es sei denn, es gäbe Millionen von Datensätzen. Ist Extended Locking jetzt eigentlich aktiviert oder nicht?

Ich kann die Empfehlung nur wiederholen, ProcMon und ähnliche Tools von Sysinternals zu installieren und die Prozesse zu überwachen, und/oder die Dateizugriffe. Es wird sich mit hoher Wahrscheinlichkeit ergeben, dass es andere Prozesse sind, die da hineinfunken.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Martin Altmann »

Ganz abgesehen davon, dass es hier schon häufiger Thema war: Bei gemischten Umgebungen (XP und Windows 7) ist entscheidend, welcher der Rechner als Server dient (bezogen auf die .dbf-Dateien)!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Bernd Reinhardt »

Hallo Martin.

Gibt es eine Konstellation bei der man sagen kann das diese Verzögerung nicht auftritt?
Wir haben bisher den Rechner als Server benutzt, bei dem am meisten gearbeitet wurde.
Alle anderen haben über Netzwerk zugegriffen.
Leider kann ich das ganze nicht so richtig nachvollziehen, da diese massive Verzögerung
nicht ständig auftritt. Immer nur sporatisch, aber auch nur wenn auf mindestens zwei
Arbeitsplätzen gleichzeitig gearbeitet wird.

Gruß
Bernd
Bernd Reinhardt
fa.reinhardt@gmx.de
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Martin Altmann »

Moin,
stöbere mal hier ein bisschen:
http://www.xbaseforum.de/viewtopic.php?f=16&t=5587

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von AUGE_OHR »

Bernd Reinhardt hat geschrieben:Gibt es eine Konstellation bei der man sagen kann das diese Verzögerung nicht auftritt?
JA ... mit einem "richtigen" Netzwerk und homogener Struktur !
damit meine ich das die Workstation ALLE das selbe OS() haben und die passenden Server OS() Version.

XP / NetWare 3/4
XP / Server2003 mit SMB1
Win7 / Server2008 mit SMB2
Win8.1 / Server2012 mit SMB3 (v2.3)

ein Mischbetrieb XP mit Win 7/8.1 ist NICHT zu empfehlen !
Bernd Reinhardt hat geschrieben:Wir haben bisher den Rechner als Server benutzt, bei dem am meisten gearbeitet wurde.
Alle anderen haben über Netzwerk zugegriffen.
also ein P2P "Netzwerk" ... #-o
ein Server sollte "dediziert" sein d.h. ausser dem Administrator und Wartungsarbeiten sollte keiner nur einen Finger an die Maschine legen :angry5:
Bernd Reinhardt hat geschrieben:Leider kann ich das ganze nicht so richtig nachvollziehen, da diese massive Verzögerung nicht ständig auftritt. Immer nur sporatisch, aber auch nur wenn auf mindestens zwei
Arbeitsplätzen gleichzeitig gearbeitet wird.
klar kann man wenn man Test Programme schreibt und die gleichzeitig auf mehreren PC im Netzwerk startet ... sich das Logbuch des Server ansieht und die Ports 139 / 445 des Server beobachtet.
Tools wie FileMon ( jetzt in ProMon ) helfen dir auf der Workstation Seite lokale Probleme zu erkennen die durch temporäre Dateien auftreten können.
gruss by OHR
Jimmy
Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Bernd Reinhardt »

Hallo

Also meiner Meinung nach läuft das was komplett daneben.

Wir entwickeln seit über 20 Jahren Software mit 2-3 Arbeitsplätzen.
Seit DOS haben wir diese Software mit Netzanbindung und Mehrplatzversion im Einsatz.
Erst Clipper dann xBase++
Bisher war der große Vorteil, das bei diesem dateibasierten Datenbanksystem die
Hardware recht einfach war. Unsere Kunden haben an den Standorten mit unserer Software
keine Administratoren, keine Server.
Marktbegleiter arbeiten z. B. mit Visual Foxpro.
Das sind einfache mittelständische Untenehmen die ohne viel Aufwand einfach arbeiten wollen.
Dies war bis vor ca. 1 Jahr auch so möglich.
Was nun seit den letzten Updates von WIN XP bzw. VISTA WIN 7 WIN 8 hier alles anderst ist weiß ich nicht.

Hier verlasse ich mich auf Alaska Software das deren Produkt mit den aktuellen Betriebssystemen
zusammenpasst.
Mein Ziel ist es mit Software Geld zu verdienen und nicht nach Problemen zu suchen wie so
jetzt die Programme nicht mehr so zuverlässig arbeiten wie vorher.

Übrigens haben wir eine Installation mit Server2008 und WIN XP und WIN 7. Dort tritt das Problem auch auf.

2006 gab es 1.9 Im April 2009 dann den SL1. Das wars dann auch im wesentlichen von Alaska Software bis heute.
In dieser Zeit hat sich bei Microsoft viel getan. (XP SP3, VISTA, WIN7 und WIN8)
Ich vermute das hier xBase++ einfach nicht mehr auf dem aktuellen Stand der Technik ist.
Ein Kunde hat eine ähnliche Applikation wie unsere (auch dbf Dateien CDX Indexe) mit Visual Foxpro.
Dort tritt dieses Problem mit dem Zeitverzug nicht auf.

Ich erwarte das ein Programm, welches vor 10 Jahren auf aktueller einfacher Hardware gut und stabil gelaufen ist,
auch heute noch gut und stabil laufen sollte.
Wir haben im Kern unserer Software (Datenbanken öffnen Datensätze updaten) keine Änderungen vorgenommen.


Gruß
Bernd
Bernd Reinhardt
fa.reinhardt@gmx.de
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von brandelh »

Hallo Bernd,

hätte Microsoft seine SERVER Optimierungen standardmäßig ausgeschaltet, dann hätten wir diese Probleme nicht :!:
Das Win 7 nun von Microsoft verordnet bekommt "warte 10 oder 15 Sekunden bis du eine Änderung der Metadaten tatsächlich erkennen kannst" ... dafür kann Alaska nichts :!:

Meine Anwendungen liefen bis Terminalserver 2003 einwandfrei, nun knallen die Indexdateien dauernd. Die Abhilfe läßt sich auf dem Server nicht installieren (er blockiert 2 der Einträge).
Dass Visual Foxpro mit den älteren Microsoft Anpassungen besser zurecht kommt, könnte daran liegen, dass die besser wußten wie man mit den Optimierungen umgeht, aber das wird ja auch nicht mehr gewartet. Access Anwendungen sind jedenfalls auch davon betroffen.

Und nicht nur die, ich habe hier einen 4 Kern 3.0 GHZ AMD Rechner, der mit ab und zu beim Schreiben in Programmen 2-3 Sekunden die Tastatur blockiert ...
Regelmäßig lösche ich Programme aus "Autostart" die mir das Leben erleichtern wollen ... und nur den Rechner beschäftigen.

Und warum ist es spätestens seit XP eine schlechte Idee einen Arbeitsplatzrechner als Datenträger zu nutzen ?

Weil die Updates von Microsoft, Antiviren Software, Adobe usw. andauernd wenn man es nicht brauchen kann Updates installieren und zum Neustart auffordern ... schön wenn der Anwender gehorcht und alle anderen mitten in der Eingabe den "Server" verlieren ...
Gruß
Hubert
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Werner_Bayern »

Bernd Reinhardt hat geschrieben:Übrigens haben wir eine Installation mit Server2008 und WIN XP und WIN 7. Dort tritt das Problem auch auf.
Klar, diese Konstellation hat Jimmy auch nicht als funktionierend beschrieben, das XP ist hier der "Störenfried".
Gleiche Konstellation hatten wir auch bei einem Kunden, er hat sich dann kurzerhand für eine SQL-Software eines anderen Anbieters entschieden...
es grüßt

Werner

<when the music is over, turn off the lights!>
Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Bernd Reinhardt »

Hallo Hubert.

Da bin ich wieder an dem Punkt angelangt mit Alaska Software. Wenn ich als Hersteller doch
die Probleme kenne, so müsste ich doch reagieren. Entweder das Problem beheben, oder
Alternativen zur Verfügung stellen damit die Software weiterhin stabil läuft. Aber genau das
Gegenteil ist der Fall. Alaska Software verzettelt sich mit zu vielen Projekten und keines davon
wird fertig.
Der Kern von xBase++ ist die Datenbank, und die macht aktuell Probleme.
Natürlich sind viele Punkte von Microsoft verursacht. Aber wenn Alaska Software
diese Punkte nicht in den Griff bekommt, so werden diese keine Neukunden mehr bekommen
und die alten brechen weg.
Bei der Optik und anderen Punkten findet sich meist ein Workaround, aber dies ist doch ein
essentielles Problem.
Und für mich bzw. für unsere Firma auch ein Imageverlust gekoppelt mit dem Verlust weiterer Aufträge.

Ich stehe hier kundenseitig ganz schön unter Druck. Irgendwie muss ich die Software mit den Rechnern
zum laufen bringen.
Hab mir schon überlegt mit lokalen Indexen zu arbeiten und vor jedem Aufruf einen Reindex zu machen.
Aber das birgt dann wieder andere Probleme.

Ich kann aber einem Kunden in einem kleinen Wiegehaus keinen Server / Administrator verkaufen.
Der wechselt dann viel billiger zum Wettbewerb.
Verstehe nur nicht das andere Programmierer hier keine größeren Probleme haben.
Aber mehr als use und set index kann man doch nicht machen, und die letzten 20 Jahre ging
das auch gut.
Gruß
Bernd
Bernd Reinhardt
fa.reinhardt@gmx.de
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von brandelh »

Hi,

ein SERVER bedingt noch keinen Administrator ... und ein SQL Server braucht auch nicht unbedingt einen.
Im Büro habe ich seit der Einführung von Windows Server 2008 nur noch Probleme mit den Indexdateien.
Größere Firmen nehmen keine Rücksicht auf Anwendungen mit 10 Anwendern ... Geschwindigkeitsprobleme sind es nicht.
Die Indexdateien sind einfach defekt. Der Alaska Patch würde helfen, wenn die Server ihn akzeptieren würden, leider wird aber nur ein Wert übernommen. Warum ? Die Admins wissen es nicht ...

In den von mir verwalteten Netzen habe ich den Alaska patch auf den Window 7 Geräten eingespielt und weder mit dem NAS noch mit dem Zugriff auf Rechner ein Problem. Sobald ein XP oder älter daran beteiligt ist, muss man auch die SERVER Parameter die schon oft besprochen wurden setzen und dann sollte es gut sein.

Die Anwender der Software sind natürlich nicht begeistert, aber ich sage immer, dass kein Auto die Autobahn reparieren kann auf der es fährt. Ich möchte sicher nicht Alaska in Schutz nehmen, aber seit Jahren wird von Microsoft darauf hingewiesen, dass Datei sharen "überholte Technik ist" ...

Vor einiger Zeit habe ich mich mit SQLite beschäftigt, insbesondere bei der Frage des gesharten Zugriffs von mehreren Stationen wurde mir eindeutig geschrieben, dass "alle Netzwerk Protokolle fehlerhaft sind und daher dieser Zugriff nicht empfohlen werden kann" !

Der einzig sichere Weg dem ganzen Problem aus dem Weg zu gehen ist tatsächlich ein SQLserver (der gerne auf einem der Rechner laufen kann), dazu muss man auch keinen Admin einstellen, wenn der Server installiert ist und man einen Superuser eingerichtet hat, läuft das Teil ohne größere Mühen (DBFs muss man auch sichern).

Die eigene EXE kann alles auf dem Server einrichten was man braucht. Mit SQLexpress kann man sicher arbeiten und ist alle Netzwerkprotokolle los !
Der andere sichere Weg ist ein Windows Server, der Terminaldienste anbietet und die Clients selbst keinen direkten Zugriff auf die Daten haben. So handelt es sich - auf dem Terminal Server - ausschließlich um lokale Zugriffe.

Ob Alaska bei den DBF DBEs die Probleme beheben könnte ... keine Ahnung.
Aber seit Jahren haben sie das nicht getan und erklären auch genau warum es nicht geht.

Die Hoffnung, dass dies bald gelöst wird ist ilusorisch !
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von AUGE_OHR »

Bernd Reinhardt hat geschrieben:Also meiner Meinung nach läuft das was komplett daneben.
mein Einwendungen was M$ "Netzwerke" angeht bezieht sich auf ALLE File basierenden Systemen die Dateien "share(n)".
Bei Datenbank Systemen merkt man das eher weil ein gleichzeitiger Zugriff wahrscheinlicher ist.

was das Verhalten von Xbase++ angeht sollte es ja bekannt sein das es sich von Cl*pper / harbour unterscheidet speziell was das "locking" der Indexe angeht ( siehe PDRs )

auch ist es nicht so das es dein beschriebenes SMBx Problem erst jetzt gibt. vielmehr ist es die Auswirkung der neuen 64bit OS() Maschinen
wo der vorhandene Effekt stärker auftritt weil sich z.b. die Benutzer Rechte geändert haben.

um zu verdeutlichen was der Unterschied bei MS$ Produkten / OS() es in den letzten 10 Jahren gegeben hat :
bei Office 2003 war kein gemeinsamer Zugriff auf Word / Excel Dokumente möglich sondern nur Kopien.
ab Office 2007 gab es dann Sharepoint für Server 2008 und SMB2 denn "irgendwie" muss man das "share" ja regeln.
Windows v8.1 / Office 2012 / Server 2012 mit SMB3 (v2.3) wird wohl die Kombination heissen auf die man sich jetzt als Programmierer einstellen muss.
Bernd Reinhardt hat geschrieben:Ich erwarte das ein Programm, welches vor 10 Jahren auf aktueller einfacher Hardware gut und stabil gelaufen ist, auch heute noch gut und stabil laufen sollte.
und was wenn in 10 Jahren 32bit Software nicht mehr von den OS() unterstützt wird ?

genau das ist im Prinzip doch jetzt mit Win 7 / 8 64bit passiert und 16bit Software läuft dann eben nicht mehr.
es ist aber nicht so das es 64bit erst jetzt gibt denn auch von XP kam schon 2003 eine 64bit Version raus ( Kernel vom Srv2003 )

was Netzwerke angeht hat sich inzwischen ja auch viel getan. früher bei den Novell Servern musste man bei einigen Firmen
eine Zertifizierung nachweisen damit man an deren Server durfte. Das hat sich durch MS$ Server nicht geändert.

XP ist "out" und P2P Netzwerke sind für Home gedacht und dafür gibt es WHS (Windows Home Server) der IMHO auf Srv2003 basiert und mit SMB1 funktioniert.
wenn deine Kunden deine Xbase++ Applikationen auf solchen P2P "billig" Lösungen laufen lassen und sich beschweren, dann solltest du deinen Kunden sagen
welche Hard-/Soft- Ware Voraussetzungen deine Xbase++ Applikation erfordert !
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von AUGE_OHR »

Bernd Reinhardt hat geschrieben:Hab mir schon überlegt mit lokalen Indexen zu arbeiten und vor jedem Aufruf einen Reindex zu machen.
ich weiss was du meinst ... ich greife hier nur den Begriff "lokal" auf.

in einem SMB2x Netzwerk sind genau diese "lokalen" Zugriffe DAS Problem !
in einem SMB2x Netzwerk werden ALLE Aktionen "im" Netzwerk ausgeführt. Dazu muss ein Order "freigegeben" (share) sein.

in einem SMB2x Netzwerk sollte die Syntax mit Full UNC-Path verwendet werden und das bei jedem USE, SET INDEX, COPY oder auch Low level Function.

wenn man das beachtet läuft auch noch ein Cl*pper Programm unter 32bit v8.1 OS() im Netzwerk ;)
gruss by OHR
Jimmy
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Koverhage »

die Syntax mit Full UNC-Path
ist die Anwendung dann schneller ?
Gruß
Klaus
Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Bernd Reinhardt »

Hallo Auge_Ohr

Wenn ich dich recht verstehe dann muss ich meinen Kunden sagen:
1. Wir benötigen einen Server2008 bei dem SMB2 abgeschaltet ist. (Patch von Alaska)
2. WIN XP oder WIN 7 bei denen auch SMB2 abgeschaltet ist.
3. Die beiden Schlüssel über die Delaytime (KB /150384) auf allen Servern und Arbeitsstationen
4. Muss ich zwingend Active Directory einrichten, oder reicht es wenn auf dem Server ein Verzeichnis
frei gegeben wurde auf welches dann alle Programm zugreifen. Über gemappte Laufwerksbuchstaben oder \\servername\freigabename

4. Im Programm dann DBE_LOCKMODE auf LOCKING_EXTENDED

Wenn ich das alles so einhalte, dann funktionieren meine Programme problemlos?
Kann ich dann meinen Kunden eine Garantie geben das es hier zu keinen Problemen mehr kommt.
(Wenn es dann nicht besser wird muss ich den ganzen Aufwand bezahlen. Wenn alles dann super
gut läuft kann ich die Kunden schon dazu bewegen hier zu investieren.)
Aber warum hat dann Hubert mit so einer Konstellation Probleme. Oder habe ich
hier was falsch verstanden?

Gruß
Bernd
Bernd Reinhardt
fa.reinhardt@gmx.de
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von brandelh »

Hi,

Man braucht nicht unbedingt einen Server 2008 (2012), bei kleinen installation reicht ein Desktopbetriebssystem und SMB2 soll man - soweit ich weiß - nicht abschalten.
Möglich dass es von Alaska mehrere Patches gibt, ich meine den, der diese Werte setzt und dafür sorgt, dass die Indexdateien (und Datendateien) nicht korrupt werden:

Code: Alles auswählen

FileInfoCacheLifetime
FileNotFoundCacheLifetime
DirectoryCacheLifetime
unter
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Lanmanworkstation\Parameters richtet sich an die Clients (Win 7, wobei TerminalServer Sessions auch Clients sind.) 
dies schreibt übrigens auch Microsoft selbst vor:
http://technet.microsoft.com/en-us/libr ... 10%29.aspx
die dort erwähnten PATCHES sind aber von 2010 und sollten mittlerweile längst über Microsoft Update auf dem Rechner sein.
Die Registryschalter braucht man auf jeden Fall. Bei meinen selbst verwalteten Netzen habe ich die aktiv und KEINE Netzwerkprobleme.

XP um Win 7 zu mischen ist nicht ideal, auch schnelle mit langsamen Rechnern zu mischen soll Probleme geben.

Seit Jahren nutze ich UNC Namen, statt Laufwerksbuchstaben:

Code: Alles auswählen

cDatei := "\\Rechner\Freigabe\Verzeichnis\Datei"
use (cDatei)
if neterr()
Jimmy betont immer, dass dann die anderen SMB2 Probleme verschwinden, das kann ich aber nicht beurteilen.
Ich nutze UNC Namen um die Probleme von Laufwerksbuchstaben zu vermeiden ... ;-)

Ich habe auch ein Synology NAS, bei dem kann man eine Windowsfreigabe so einstellen, dass kein SMB verwendet wird.
Allerdings ist der Zugriff - bei meinem - langsamer als auf einen normalen Rechner.
PS: neuerdings habe ich einen Intel i3 3225, mit 8 GB Ram, Win 7 Pro 64 Bit, dieser erledigt Videoaufnahmen mit SAT Karte, MySQL Server, Apache Webserver mit CGI Programmen die auf DBF oder MySQL Datenbanken zugreifen ... und der schläft bei etwa 20 % Auslastung wegen der Videoaufnahme ...

Gerade kleine Firmen unterschätzen oft die Abhängigkeit von der IT, sobald man damit angefangen hat.
Spätestens wenn wegen einer defekten Festplatte (die ist doch erst ... Jahre alt ... Datensicherung, da war doch was ...) ein halbes Jahr Belege nacherfasst werden müssen oder das Finanzamt sehr aufdringlich wird weil die Hälfte der Buchhaltung fehlt ist dann die Not groß.

Um Missverständinisse zu beseitigen, ich bin auch s....sauer, dass so einfache Dinge wie solides sperren von gesharten files nicht mehr zuverlässig funktioniert,
aber es nützt nichts, M$ ist nicht daran interessiert das zu verbessern, schließlich optimiert man Officedateien und verkauft SQL Server...
Gruß
Hubert
Bernd Reinhardt
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 159
Registriert: So, 16. Apr 2006 11:12
Wohnort: Öhringen

Re: Mehrplatzversion Datenzugriff manchmal langsam

Beitrag von Bernd Reinhardt »

Hallo Hubert.

Bedeutet dies wenn man eine NAS verwendet ist man alle Sorgen bezüglich DBF/NTX Dateien los?
Egal welches Betriebssystem? auf den PC's läuft. Eine einfache NAS ohne SMB. Das könnte ich bei
einem Kunden mal versuchen.
Das wäre ja dann schon mal ein Schritt.
Gruß
Bernd
Bernd Reinhardt
fa.reinhardt@gmx.de
Antworten