Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi tcp packetgrößen und traffic optimieren (https://www.delphipraxis.net/87297-tcp-packetgroessen-und-traffic-optimieren.html)

Arnulf 26. Feb 2007 16:52


tcp packetgrößen und traffic optimieren
 
Hi
Ich möchte möglichst ohne die bandbreite allzusehr zu belasten etwas über die TCP Sockets raufladen.
dazu hab ich mir schon einmal eine routine geschrieben, die ich aber gerne optimieren würde.

wie groß sind die standard Packetgrößen im TCP protokoll?
soweit ich weiß 1 kb - also kleinere packete sind nicht sinnvoll ( hab bisher 256 byte benutzt ).
mir gehts aber einmal um den standard um möglichst ideal die Bandbreite zu nutzen.

Als idee würde ich versuchen mit sendbuff immer genau so viel in den Buffer schreiben um 1 kb aufzufüllen.
Mir ist schon klar, daß ich bei den sockets nicht wirklich steuern kann welche packetet sie wie verschicken, aber eine annähernd gute ausnutzung bei möglichst geringer bandbreite würde ich gerne erreichen.

irgendwelche ideen?
lg
Arnulf

Arnulf 27. Feb 2007 11:51

Re: tcp packetgrößen und traffic optimieren
 
hoffe das stimmt aber soviel hab ich mal ergoogelt:

Zitat:

Frame IEEE 802.3
Ethernet - Frame min. 64 Byte max. 1518 Byte
dh. es ist völlig ok wenn ich 256 byte packerln verchicke.

der zeitabstand war allerdings mit 50 millisekunden zu klein gewählt.
bei mir hat er bei versuchen die zu 1k packerln zusammengefasst.

es ist vermutlich besser 100 millisekunden zu nehmen und 500 byte packerln zu verschicken da spart man dann auch beim overhead.

lg
Arnulf

Arnulf 27. Feb 2007 12:26

Re: tcp packetgrößen und traffic optimieren
 
Also bei packetgrößen über ca. 1024 hat er bei mir schon auf mehrere packete aufgeteilt.
Wenn ich eine netzlast von 5 kb/sekunde erreichen will ist es natürlich fraglich ob es besser ist größere packete zu verschicken
also 1024 mit 200 millisekunden sleep.
oder 512 mit 100 millisekunden spleep.

unter 100 millisekunden hat er bei mir schon zu oft packete wieder zusammengefasst - deshalb scheint eine zahl darunter nicht sinnvoll zu sein.
ausserdem ist der sleep ja nicht so genau - vielleicht wenn ich muße hab versuch ich das noch mit gettickcount.

aber die beiden settings haben bei mir erstmal die bessten ergebnisse gebracht um die netzlast zu regulieren.

lg
Arnulf


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz