Ankündigung

Einklappen
Keine Ankündigung bisher.

TCP/UDP Nachrichten Verarbeitungszeit

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    TCP/UDP Nachrichten Verarbeitungszeit

    Hallo allerseits,

    ich hätte mal eine Frage zur Verarbeitungszeit von TCP/UDP Nachrichten. Sprich wenn ich von einem anderen Gerät eine TCP-Textnachricht an den EibPC sende.

    Es fällt mir auf, dass sich die Reaktionszeit stark unterscheidet. In einem konkreten Beispiel gehts es darum, dass ich von meiner Mobotix T24 aus nach der PIN Eingabe einen String verschicke und dann der EIBPC diesen verarbeitet und das Garagentor öffnet. Manchmal passiert das innerhalb einer Sekunde, dass das Garagentor aufgeht und ein anderesmal dauert es bis zu 10 Sekunden.

    Ich hab mir schon ein kleinens Java-Programm geschrieben, dass die Nachrichten der T24 entgegennimmt. Dort passiert die Verarbeitung immer unmittelbar nach der PIN Eingabe.

    Jetzt stelle ich mir die Frage, warum es sein kann, dass am EibPC die Reaktionszeiten so unterschiedlich sind.

    Hat da zufällig wer eine Idee?

    Danke & lg,

    Peter

    #2
    Ohne Code lässt sich das nicht wirklich sagen. Poste doch mal den relevanten Code dazu.

    Kommentar


      #3
      Guten Morgen,

      der Code ist nicht wirklich weltbewegend

      Code:
      if event(readtcp(tcpSenderPort,tcpSenderIP,tcpSenderString)) and tcpSenderPort==40000u16 and tcpSenderIP==192.168.1.5 and tcpSenderString==$VALID_GARAGE_DOOR_PIN$ then {
      	write("Garagentorantrieb-11/0/0", EIN);
      } endif
      lg,

      Peter

      Kommentar


        #4
        Wie sehr ist der eibPC denn ausgelastet?
        BR
        Marc

        Kommentar


          #5
          Hallo,

          Zitat von saft6luck Beitrag anzeigen
          Wie sehr ist der eibPC denn ausgelastet?
          wie stell ich das am besten/einfachsten fest?

          lg, Peter

          Kommentar


            #6
            Zitat von ppfeifer Beitrag anzeigen
            Guten Morgen,
            der Code ist nicht wirklich weltbewegend
            Was genau dauert da nun lang oder wie ist das zu verstehen?
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Zitat von enertegus Beitrag anzeigen
              Was genau dauert da nun lang oder wie ist das zu verstehen?
              Naja wenn ich den PIN Code auf der Mobotix eingebe, verarbeitet der EibPC die TCP Textnachricht einmal innerhalb einer Sekunde und ein anderes mal muss ich fast 10 Sekunden warten, bis sich das Garagentor in Bewegung setzt.

              Beim Garagentor ist das noch nicht so tragisch, auch wenn ich es leider nicht verstehe. 10sek sind schon eine große Latenzzeit.

              Tragischer ist das eher bei unserm Türgong, der auch über die "Mobotix/TCPNachricht"-Kombi angesprochen wird. Manchesmal läutet der Türgong so verspätet, dass der Besuch vermeintlich glaubt, dass niemand zuhause ist. Da ist die große Latenzzeit ägerlicher als beim Garagentor, weil ich es ja mittlerweile gewohnt bin

              Wenn ich die GAs/Variablen direkt im Debugger setzt und so die Pin-Eingabge simuliere, wird sofort das Garagentor aufgemacht oder der Türgong betätigt.

              lg, Peter

              Kommentar


                #8
                Hallo,

                bzgl,
                Zitat von saft6luck Beitrag anzeigen
                Wie sehr ist der eibPC denn ausgelastet?
                reicht das?

                Code:
                +---+ EibParser  - v3.011 (Linux Version) +---+  
                
                 --------------------------------------      --------------------------------------
                 Objektnutzung                 | Anzahl      Webserverobjekte              | Anzahl
                 ======================================      ======================================
                 Schaltuhr                     |    215      button                        |     11
                 Timer                         |    200      dframe                        |      1
                 Timebuffer                    |      0      mpchart                       |      2
                 String Operationen            |    454      pbutton                       |    103
                 TCP/IP/UDP Operationen        |     32      pshifter                      |     34
                 Stringsuche                   |     40      --------------------------------------
                 Flash                         |      0               Summe (14 Webseiten) |    151
                 Fliesskommaoperationen        |    286
                 if/else                       |   1139
                 Gruppenaddressen              |    278
                 KNX Busoperationen            |   1218
                 Stringvariablen               |     72
                 Verarbeitungsobjekte          |   6496
                 --------------------------------------
                                         Summe |  10430
                
                 Genutzte Objekte EibPC    16 %.
                 Funktionen der Option NP verwendet
                
                 EibParser wurde ohne Fehler beendet.

                Kommentar


                  #9
                  Zitat von ppfeifer Beitrag anzeigen
                  Wenn ich die GAs/Variablen direkt im Debugger setzt und so die Pin-Eingabge simuliere, wird sofort das Garagentor aufgemacht oder der Türgong betätigt
                  Hast du denn schon mal geprüft, ob die Nachrichten auf TCP Seite ohne Verzögerung gespendet werden?
                  ....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!

                  Kommentar


                    #10
                    Generell habe auch ich ein ähnliches Problem, dass bei TCP Verbindungen, bei denen der eibPC der Server ist, initial hohe Latenzen auftreten können.

                    Bisher habe ich das auf die Auslastung des eibPCs geschoben, daher auch meine Frage diesbezüglich.

                    Zeigen tut sich das bei mir durch teilweise lange Wartezeiten beim Empfang der ersten Daten nach Verbindungsaufbau, hier das Anmelden der iPads (CommandFusion) am eibPC. Um dies zu verifizieren habe ich einen TCP Client am PC verwendet und die Aktionen des CommandFusion-Servers im eibPC per UDP ausgegeben.

                    Ergebnis ist, dass auch auf die manuelle Eingabe + Versand der 1. Botschaft eine Wartezeit von bis zu 10 Sekunden bis zum event(readTCP()) auftreten kann. Man kann deutlich sehen, dass die Aktionen anderer iPad (auch event(ReadTCP()), die schon länger kommunizieren, weiterhin regelmäßig bedient werden, während die Nachricht der neuen Verbindung manchmal erst 10 Sekunden später erscheint, teilweise zusammen mit weiteren Botschaften.

                    Im Test habe ich z.B. zyklisch pro Sekunde das gleiche Kommando verschickt und sehe dann am eibPC die erste Nachricht als max. 10 Nachrichten am Stück.

                    Tests zu UDP habe ich noch nicht durchgeführt.

                    Ob dies im Zusammenhang mit einer Überlastung des eibPCs steht, ist auch nicht klar, denn die verwendete Variante des eibPC-CommandFusions erzeugt ja auch eine gewisse Last. Evtl. hilft es ja bei der Analyse ...
                    BR
                    Marc

                    Kommentar


                      #11
                      Zitat von saft6luck Beitrag anzeigen
                      Generell habe auch ich ein ähnliches Problem, dass bei TCP Verbindungen, bei denen der eibPC der Server ist, initial hohe Latenzen auftreten können.
                      Ich hatte dazu beim Wettermakro (da dann als Client) zumindest auch feststellen können, dass das erste Senden und Öffnen des TCP Sockets auf dem EibPC 60ms benötigt. Im Sekundenbereich war das allerdings nicht (aber eben auch nur Client). Ich denke auch, UDP wäre erheblich schneller.
                      Was mich erstaunt, dass das nur sporadisch auftritt. Warum das manchmal adhoc und manchmal 10 Sekunden dauern soll, kann ich so nicht sagen.
                      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                      Enertex Produkte kaufen

                      Kommentar


                        #12
                        Guten Morgen,

                        Zitat von enertegus Beitrag anzeigen
                        Ich denke auch, UDP wäre erheblich schneller.
                        Was mich erstaunt, dass das nur sporadisch auftritt. Warum das manchmal adhoc und manchmal 10 Sekunden dauern soll, kann ich so nicht sagen.
                        leider kann man von der Mobotix aus "nur" TCP Nachrichten versenden. In diesem Fall würde ja der eibPC als TCP Server fungieren und auf eingehende Nachrichten warten, oder?

                        Kann es sein, dass der eibPC die Server-Verbindung manchesmal schließt und dann wieder neu aufbaut?

                        lg, Peter

                        Kommentar


                          #13
                          Zitat von ppfeifer Beitrag anzeigen
                          Kann es sein, dass der eibPC die Server-Verbindung manchesmal schließt und dann wieder neu aufbaut?
                          Wenn keine Kommunikation vorhanden ist, wird sie glaube nach 30s geschlossen (der genaue Wert steht im Handbuch).

                          Während der Kommunikation steht die Verbindung, jedenfalls ist die Verbindung bei meinen Tests von außen nicht sichtbar geschlossen worden. Und Probleme sehe ich nur, wenn ich bei einer geschlossenen Verbindung (sichtbar geschlossen) übertragen will (natürlich nach Verbindungsaufbau).

                          Ich mache mal einen Test, ob es einen Einfluss hat, wie lange man wartet und ob der eibPC oder der Client die Verbindung geschlossen hat.
                          BR
                          Marc

                          Kommentar


                            #14
                            Zitat von saft6luck Beitrag anzeigen
                            Ich mache mal einen Test, ob es einen Einfluss hat, wie lange man wartet und ob der eibPC oder der Client die Verbindung geschlossen hat.
                            Gestern habe ich mal unterschiedlichste Szenarien probiert, das Ergebnis ist, dass ich nach dem Verbindungsaufbau meist schnell, also <1s die Daten empfangen konnte, mehrfach hat es 7-10 sec gedauert, in einem Fall hat es aber sogar 20 sec gedauert.

                            Eigentlich wollte ich jetzt die VISU auf alle iPhones bringen. Im Gegensatz zu den iPads an der Wand wird hier aber grundsätzlich häufiger der Verbindungsaufbau direkt sichtbar sein.

                            Michael, wird das bei euch als Problem behandelt oder ist das akzeptiertes Verhalten?
                            BR
                            Marc

                            Kommentar


                              #15
                              Zitat von saft6luck Beitrag anzeigen
                              Gestern habe ich mal unterschiedlichste Szenarien probiert, das Ergebnis ist, dass ich nach dem Verbindungsaufbau meist schnell, also <1s die Daten empfangen konnte, mehrfach hat es 7-10 sec gedauert, in einem Fall hat es aber sogar 20 sec gedauert.
                              Kann es sein, dass es damit zusammenhängt, das eine Verbindung keinen Handle bekommen hat, und man erst mit dem connect warten muß, bis die alte rausgeworfen wird? Vielleicht ist da eine zeitliche Überschneidung bei der Anfrage des Verbindungsaufbaus.
                              Wenn wir hier testen mit z.B. netcat oder auch mit (einem) iPAd und CF konnte ich das nicht beobachten und halte das auch nicht für "normal". Es ging da immer innerhalb 1s. 5 Sekunden oder mehr ist nicht normal und es wäre interessant, woran das genau liegt. Dazu braucht man aber erst mal eine definierte Testumgebung oder Analyse
                              offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                              Enertex Produkte kaufen

                              Kommentar

                              Lädt...
                              X