Geschwindigkeitsproblem [ERLEDIGT]
Moderator: Moderatoren
- Koverhage
- 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]
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 ?
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
Klaus
- Koverhage
- 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
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.
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
Klaus
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Geschwindigkeitsproblem
Sehr viele gelöschte Datensätze in diesem Bereich? Einfach mal ein Pack+Reindex?
Herzlich,
Tom
Tom
- Koverhage
- 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
Nein, das hatte ich zuerst vermutet und den Pack und Reindex durchgeführt.
Gruß
Klaus
Klaus
- Koverhage
- 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
Soviel mir bekannt ist, haben beide Kunden einen Server mit Windows 2008 System.
Kann das daran (SMB2) liegen ?
Kann das daran (SMB2) liegen ?
Gruß
Klaus
Klaus
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Geschwindigkeitsproblem
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 ...
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
Hubert
- Herbert
- 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
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.)
Würde heissen, dass nicht das Suchen langsamer wäre sondern das Weitere (Anzeigen, usw.)
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Geschwindigkeitsproblem
"Optimierung" ?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.
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
Code: Alles auswählen
DbeInfo(COMPONENT_ORDER,DBE_LOCKMODE,LOCKING_EXTENDED)
gruss by OHR
Jimmy
Jimmy
- Koverhage
- 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
Jimmy,
bei mir ist die Optimierung ausgeschaltet.
set rushmore off
set optimize off
set smartfilter habe ich nicht, also wohl auch auf aus.
bei mir ist die Optimierung ausgeschaltet.
set rushmore off
set optimize off
set smartfilter habe ich nicht, also wohl auch auf aus.
Gruß
Klaus
Klaus
- Herbert
- 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
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.
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...
Immer in Bewegung...
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1930
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
-
- 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
Hast Du mal die Indizes neu aufgebaut?
Sind in einem Bereich vielleicht die Indexwerte oft gleich?
Uli
Sind in einem Bereich vielleicht die Indexwerte oft gleich?
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Koverhage
- 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]
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).
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
Klaus
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Geschwindigkeitsproblem
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
Tom
- Koverhage
- 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
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.
und die von den Positionen nicht geprüft.
Werde die Datenbereinigung um das erweitern.
Danke.
Gruß
Klaus
Klaus
- Koverhage
- 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]
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
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
Klaus