AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Programm wird mit Laufzeit immer langsamer

Ein Thema von norwegen60 · begonnen am 15. Mär 2021 · letzter Beitrag vom 16. Mär 2021
Antwort Antwort
Seite 3 von 3     123
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
428 Beiträge
 
Delphi 10.3 Rio
 
#21

AW: Programm wird mit Laufzeit immer langsamer

  Alt 15. Mär 2021, 23:18
Die Messdaten werden zwar in die Datenbank geschrieben, aber kann es sein, dass da noch irgendwo ein file-basiertes Logging mitläuft, bei dem die Logdatei immer erst gelesen, ergänzt und dann wieder geschrieben wird?
Ja, es werden über nlog Logs geschrieben. Das sind immer 24h Logs. Ich habe mal die Logs löschen lassen. Die beginnen dann wieder bei 0 Datensätzen. Das ändert aber nichts an dem Delay.
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.197 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#22

AW: Programm wird mit Laufzeit immer langsamer

  Alt 16. Mär 2021, 07:54
Das letzte mal, dass ich mit RS232 zu tun hatte, war zu Turbo-Pascal-Zeiten. Mal sehen, ob meine Erinnerungen dazu noch ausreichen, dein Problem einzugrenzen.

Du schreibst, dass alle 5 Sekunden Temperatur, Drehzahl und Status abgefragt werden. Ich nehme an, dass du dafür auch einen Timer verwendest. Wird dort die Verbindung jedesmal neu initialisiert oder greifst du auf eine bestehende Verbindung zu? Im zweiten Fall kann sich der günstige Abfragezeitpunkt ständig verschieben. Wenn ich mich richtig erinnere, kommt von der seriellen Schnittstelle ein Startbit und dann erst die Daten. Wird das Startbit verpasst, musst du warten, bis das nächste Startbit übertragen wird. Im Laufe der Zeit, kann es dann zu Verschiebungen kommen, die zu Wartezeiten führen. Wenn das die Ursache für dein Problem sein sollte, kann eine regelmäßige Initialisierung der Verbindung eine Verbesserung bringen.

Stoppst du den Timer, wenn die Daten abgefragt werden? Das wäre ziemlich wichtig, da der sonst vielleicht mehrfach während einer Abfrage ausgelöst würde. In dem Fall misst du vielleicht gar nicht die richtige Zeit bei der Auslösung des Timers oder es kommt zu anderen Problemen und die Verzögerung ist eine sekundäre Auswirkung.

Laufen auf dem Rechner noch andere Programme oder werden gelegentlich andere Programme dort gestartet? Ich halte es zwar für unwahrscheinlich, aber wenn du Charts und VirtualStringTree verwendest, benötigst du Hauptspeicher. Je nach Umfang, Laufzeit und Nutzung anderer Programme, kann der Hauptspeicher fragmentiert sein. Auch das kann dann zu Verzögerungen führen. Aber ich vermute den Fehler eher an einer anderen Stelle.
Peter
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
902 Beiträge
 
Delphi 10.3 Rio
 
#23

AW: Programm wird mit Laufzeit immer langsamer

  Alt 16. Mär 2021, 07:59
Ich würde bei den Methoden auf oberster Ebene, die wiederkehjredn aufgerufen werden, beginnen und deren Laufzeit (Eintritt - Austritt) loggen. Dann hast du einen ersten Anhaltspunkt, wo die Zeit liegen bleibt, ohne allzuviel am Code ändern zu müssen und ohne viel mit Profilern etc herumtun zu müssen. Leg die Info so ab, dass du sie leicht visualisieren kannst. Hantle dich dann weiter in die Tiefe. Versuche, nach dem Ausschlußprinzip vorzugehen - je mehr Methoden du ausschließen kannst, desto besser. Aber: immer messen, nicht vermuten.

HTH
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.326 Beiträge
 
Delphi 10.4 Sydney
 
#24

AW: Programm wird mit Laufzeit immer langsamer

  Alt 16. Mär 2021, 09:21
Stichwort Datenbankverbindung
Werden die DB-Transaktionen nach jedem Messvorgang tatsächlich alle geschlossen?
Wenn eine Transaktion über die gesamte Laufzeit des Programms offen bleibt und in der Zwischenzeit tausende von Datensätzen eingefügt werden, bekommt der Datenbankserver ein Problem. Die Beschreibung würde dazu passen.
  Mit Zitat antworten Zitat
Jumpy
Online

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.696 Beiträge
 
Delphi 6 Enterprise
 
#25

AW: Programm wird mit Laufzeit immer langsamer

  Alt 16. Mär 2021, 09:50
Entsteht die Verzögerung vllt. in der DLL? In einem der Threads wurde eine dazwischen geschaltete DLL erwähnt, deswegen frag ich da nochmal nach?
Ralph
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf