Geschwindigkeitsproblem [ERLEDIGT]

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

Moderator: Moderatoren

Antworten
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:

Geschwindigkeitsproblem [ERLEDIGT]

Beitrag von Koverhage »

Habe bei 2 Kunden folgendes Problem.

Bei Zugriffe auf einen bestimmten Nummernkreis in der Datenbank sinkt die Geschwindigkeit so drastisch und kein
sinnvolles Arbeiten mehr möglich ist (Dbf und NTX)

Beispiel:
Rechnungskopf (4 Memofelder)
Rechnungspositionen (1 Memofeld)

Der Kunde wird aufgerufen , dann die Rechnungen aus der Rechnungskopfdatei mittels Scope gewählt
und angezeigt.
Wenn ein Kunde aus dem Bereich 1000-1500 gewählt wird, ist es langsam, sonst normale Geschwindigkeit.
Prüfung der Festplatte / Process Monitor, etc. hat nichts ergeben.
Habe die DBF Dateien geprüft, neu erstellt, aus der alten importiert, etc.
hat alles nichts gebracht.

Was kann ich noch tun ?
Zuletzt geändert von Koverhage am Mi, 06. Jun 2012 12:22, insgesamt 1-mal geändert.
Gruß
Klaus
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: Geschwindigkeitsproblem

Beitrag von Tom »

1. Extended Locking aktivieren.
2. OpLocking einschalten.
Herzlich,
Tom
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: Geschwindigkeitsproblem

Beitrag von Koverhage »

Hallo Tom,,

das mache ich

DbeInfo(COMPONENT_ORDER,DBE_LOCKMODE,LOCKING_EXTENDED)
DbeInfo(COMPONENT_ORDER,NTXDBE_LOCKRETRY,200000)
DbeInfo(COMPONENT_ORDER,NTXDBE_LOCKDELAY,10)

bereits.

Was mir schleierhaft ist, das dies nur in einem bestimmten Nummernkreis passiert.
Gruß
Klaus
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: Geschwindigkeitsproblem

Beitrag von Tom »

Sehr viele gelöschte Datensätze in diesem Bereich? Einfach mal ein Pack+Reindex?
Herzlich,
Tom
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: Geschwindigkeitsproblem

Beitrag von Koverhage »

Nein, das hatte ich zuerst vermutet und den Pack und Reindex durchgeführt.
Gruß
Klaus
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: Geschwindigkeitsproblem

Beitrag von Koverhage »

Soviel mir bekannt ist, haben beide Kunden einen Server mit Windows 2008 System.
Kann das daran (SMB2) liegen ?
Gruß
Klaus
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: Geschwindigkeitsproblem

Beitrag von brandelh »

Hi,

schon sehr seltsam das ganze, könnte es sein, dass dieser Nummernkreis deutlich häufiger vorkommt und somit viel mehr Daten zu lesen sind ?
SCOPE überspringt ja den Rest ...
Gruß
Hubert
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: Geschwindigkeitsproblem

Beitrag von Koverhage »

nein, es sind sogar teilweise sehr wenig Datensätze
Gruß
Klaus
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Geschwindigkeitsproblem

Beitrag von Herbert »

Kann es sein, dass in diesem Bereich die Memofelder einen wesentlich grösseren Inhalt auweisen?
Würde heissen, dass nicht das Suchen langsamer wäre sondern das Weitere (Anzeigen, usw.)
Grüsse Herbert
Immer in Bewegung...
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: Geschwindigkeitsproblem

Beitrag von AUGE_OHR »

Koverhage hat geschrieben:DbeInfo(COMPONENT_ORDER,DBE_LOCKMODE,LOCKING_EXTENDED)
DbeInfo(COMPONENT_ORDER,NTXDBE_LOCKRETRY,200000)
DbeInfo(COMPONENT_ORDER,NTXDBE_LOCKDELAY,10)

Was mir schleierhaft ist, das dies nur in einem bestimmten Nummernkreis passiert.
"Optimierung" ?

bei "altem" Cl*pper Code hat man öfter Konstruktionen wo die Xbase++ "Optimierung" zuviel des guten tut ...
ich würde zum "testen" alles "abschalten"

Code: Alles auswählen

   SET RUSHMORE OFF       
   SET SMARTFILTER OFF
   SET OPTIMIZE OFF
und auch

Code: Alles auswählen

   DbeInfo(COMPONENT_ORDER,DBE_LOCKMODE,LOCKING_EXTENDED)
mal raus nehmen und "testen" ob es sich "anders" verhält.
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: Geschwindigkeitsproblem

Beitrag von Koverhage »

Jimmy,

bei mir ist die Optimierung ausgeschaltet.

set rushmore off
set optimize off

set smartfilter habe ich nicht, also wohl auch auf aus.
Gruß
Klaus
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: Geschwindigkeitsproblem

Beitrag von Koverhage »

Herbert,

nein, habe das extra nochmal geprüft.
Gruß
Klaus
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Geschwindigkeitsproblem

Beitrag von Herbert »

Du gibst uns Rätsel auf.
Hast du dir in einem Viewer die Daten dieses Bereichs mal selbst angesehen? Eventuell sind irgendwelche kryptischen Dinge drin, welche das Verhalten (auch der Indexe) stören könnte.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Geschwindigkeitsproblem

Beitrag von Rolf Ramacher »

Hallo Klaus,

gibt es in diesem Bereich, Schrottsätze ?
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Geschwindigkeitsproblem

Beitrag von UliTs »

Hast Du mal die Indizes neu aufgebaut?
Sind in einem Bereich vielleicht die Indexwerte oft gleich?

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
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: Geschwindigkeitsproblem [ERLEDIGT]

Beitrag von Koverhage »

Es lag an der Memodatei.
Habe (die Memofelder enthielten sehr viele Leerzeichen ohne wirklichen Text)
IF EMPTY(memofeld)
REPLACE memofeld with ""
ENDIF

Dann die Datei kopiert. Diese hatte dann 260.096 Bytes (vorher 10.174.464 Bytes).
Gruß
Klaus
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: Geschwindigkeitsproblem

Beitrag von Tom »

Memodateien wachsen unaufhörlich, und sie werden bei einem DbPack() auch nicht bereinigt. In Xbase++ ist das Verhalten zwar - im Vergleich zu Clipper - etwas optimiert (Wiederverwendung der Speicherposition, wenn möglich), aber grundsätzlich gilt, dass ein veränderter Memo-Eintrag ans Ende der Datei wandert, wenn er mehr Fragmente beansprucht als sein eigenes Original. Dadurch kann man zu einem Datensatz im Prinzip beliebig viele Memo-Einträge haben, von denen nur einer - der letzte - aktuell ist. Um hierdurch möglicherweise entstehende Probleme, die ja auch die Dateigröße betreffen können, zu umgehen, muss man statt eines DbPack() die Datei umkopieren. Dadurch verkürzt sich in aller Regel auch die DBT dramatisch, da Einträge ohne Referenz verschwinden.
Herzlich,
Tom
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: Geschwindigkeitsproblem

Beitrag von Koverhage »

Das mit Kopieren oder Importieren war mir bekannt. Hatte die falsche DBT in Verdacht
und die von den Positionen nicht geprüft.
Werde die Datenbereinigung um das erweitern.

Danke.
Gruß
Klaus
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: Geschwindigkeitsproblem [ERLEDIGT]

Beitrag von Koverhage »

Zu früh gefreut.

Wenn nur einer im Programm ist funktioniert alles wunderbar.
Sobald sich ein weiterer Nutzer das Programm startet geht das Ding in die Knie,
allerdings wie gesagt nur in einem bestimmten Nummernkreis.

Server: Debian "Squeeze" 32bit
Clients: Alle Windows 7

95 % unserer Kunden haben Netzwerke mit bis 2-15 Clients. Es gibt (soweit mir bekannt) nur 2 Kunden
bei denen es so ein Problem gibt.
Bei dem anderen ist der Server ein Windows 2008 Server, Clients XP
Gruß
Klaus
Antworten