Announcement

Collapse
No announcement yet.

MySQL Traffic / Anzahl der Packet

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MySQL Traffic / Anzahl der Packet

    Hallo,

    ich habe über dbExpress eine Verbindung zu einem MySQL Server laufen.
    Mit meinem Programm schiebe ich mehrere Blobs und ein paar weitere Variablen in die Datenbank. Dabei handelt es sich um Testdaten von Sensoren, ca. 2kB/Sensor.
    Ich habe jetzt mal mit einem Network Protocol Analyzer geschaut, was auf der Leitung genau passiert: Aus den knappen 2kB werden sage und schreibe 16500 Pakete (incl. Handshake) generiert!
    Problematisch daran ist, dass die Pakete aus Malaysia oder Deutschland kommen können. Von Deutschland aus ist das unproblematisch, aber wenn ich den Server in MY pinge, habe ich 500ms Laufzeit.
    Das führt dann dazu, dass meine Anwendung ca. 2,5min braucht um die Daten rüber zu schaufeln, da dbExpress wohl auch ganz gern mal auf die Handshakes wartet.

    Also: Wie kann ich die Paketgröße erhöhen?
    Ich hab nur TClientDataSet->PacketRecords gefunden, aber hier die -1 zu ändern hat leider gar nichts gebracht.


    @BernhardGeyer, falls du das hier liest: Ein Wechsel auf devArt wäre sicherlich das cleverste, aber wenn ich dieses eine Ding hier noch gefixt bekomme ist es unwahrscheinlich, dass ich das Programm noch mal groß anfassen muss...

    Viele Grüße,

    Bodo

  • #2
    Bei so großen Entfernungen ist m.E. der Ansatz das direkt in die entfernte DB zu schreiben ein falscher Ansatz. Hier sollte man die Rohdaten über eine eigenens Protokoll (aufsetzend auf http/ftp/...) verwenden und die Daten zentral dann erst in die DB schaufeln.

    Comment


    • #3
      Hm, einfach die Paketgröße zu erhöhen geht nicht? Ich find es ehrlich gesagt ziemlich sinnfrei einen Blob mit 1byte/Paket zu senden... der Overhead ist ja riesig.
      Wenn es jedoch keinen Weg gibt die Größe zu ändern, dann muss ich es wohl so machen, aber ehrlich gesagt bin ich mir da noch nicht so sicher, wie man das am elegantesten löst.
      Würdest du dann ein kleines PRogramm schreiben, dass stets auf dem Server läuft und auf einem gegebenen Port lauscht um dann ankommende Daten an die SQL weiter zu reichen?

      Comment

      Working...
      X