Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Schnelle DB / Dateibasierend

  Alt 2. Feb 2012, 10:40
Das Commit braucht einfach zu lange. Da dauert eine Verarbeitung ca. 1 Sekunde, was viel zu lang ist.

Jetzt muss ich eine alternative finden, vielleicht habt ihr noch ideen...
Ist die Sekunde zu lang, weil dadurch der Hauptthread blockiert wird und daher keine Daten mehr ankommen?

In diesem Fall einfach die Datenbankoperationen in einen Thread auslagern (oder mehrere, jeweils mit einer Connection pro Client-Thread).

Und man kann die eintreffenden Daten erst mal in einer in-memory Queue speichern, um kurze Spitzenlasten abfangen zu können.

Sind es asynchrone Sockets, die die Haupt-Messageloop verwenden? Auch diesen Bereich könnte man in einen oder mehrere Hintergrundthreads auslagern, mit Indy oder Synapse und blockierenden Sockets wird es dann deutlich einfacher und performanter.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat