![]() |
zu erwartenden Traffic berechnen
Tagchen
Mit den Indy-Komponenten lassen sich ja ganz klasse Daten via TidHttp an einen Webserver übertragen. Jetzt hätte ich ganz gerne gewußt, wie man den Traffic eines http-Aufrufes ermitteln kann. Nehmen wir mal als Beispiel diesen, frei erfundenen, Link: ![]() Die Leerzeichen sind natürlich dann ein %20. :thumb: Welchen Traffic würde dieser Link erzeugen? Mit dem Protokoll Http kenne ich mich nicht gut aus, nur vermute ich, daß dort auch noch ein paar Bytes übertragen werden. Wer kennt sich damit aus? |
Re: zu erwartenden Traffic berechnen
Hi,
Dass kann man so nicht sagen. Und erst recht nicht an der Länge der URL oder so. HTTP ist eigentlich ganz einfach. Dein Browser schickt dem HTTP Server vereinfacht gesagt nur den Namen der Datei die er braucht. D.h. wenn du auf ![]() Du siehst also dass das einfach nur mit dem Aufbau der Seite zu tun hat. Anhand einer URL kann man da nichts sagen. Gruß Neutral General |
Re: zu erwartenden Traffic berechnen
Darum gehts ja nicht.
War aber mein Fehler. Hätte ich besser erklären sollen. Mit der php-Datei werden nur Daten an den Webserver gesendet. Der php-Parser wertet die php-Anweisungen aus und schickt diese an den MySQL-Server. Mehr nicht. Zurückgegeben wird nur ein leeres Dokument, welches ich eh nicht brauche. |
Re: zu erwartenden Traffic berechnen
Mhh.. musst du den Traffic denn bis aufs Byte genau kennen oder nur ungefähr?
Ich würde einfach mal sagen Traffic = Length(daten) + X Wobei X = TPC/IP und HTTP Header sind. TCP/IP sind zusammen sind 40 Bytes groß. Dann nochmal ein paar Bytes HTTP. HTTP istn Textprotokol.. Von daher.. Vielleicht 60 Bytes nochmal.. Keine Ahnung kannst evtl grob mit 100 Bytes + Daten rechnen. Gruß Neutral General |
Re: zu erwartenden Traffic berechnen
Punktgenau muß ich den Traffic nicht kennen. Eine grobe, sofern nicht extrem grobe, Berechnung würde mir reichen.
Es ist halt so, daß ich alle 2 Minuten so einen Link an einen Webserver absetzen muß. Mein Webhosting-Paket bietet 50 GB monatlichen Inklusivtraffic. Das ist natürlich eine ganze Menge. Aber trotzdem würde ich den Traffic gerne "grob" ausrechnen können. |
Re: zu erwartenden Traffic berechnen
achso, es kommt auf den Traffic des Webspace drauf an
aber so genau kann man das eh nicht bestimmen da kommen die ganzen Headerinfos dazu und auch wenn dein PHP-Script eine leere Seite sendet, so sendet es immernoch den Header zurück Hinzu wären es auch noch die Header und die Daten dann kommt's drauf an, in welchem Format es gesendet wird (z.B. UTF8) und auch noch welche Header versendet werden und dieses ist sehr unterschiedlich. PS: zum Webhosting-Traffic zählen auch eMail, FTP und der Abruf der Webseiten (was du ja zu großen Teilen garnicht beeinflussen kannst) aber am Einfachsten: es gibt Programme, welche den Traffik deiner Internetleitung mitzählen ... nimm dir soeinen und laß dein Programm ein paar Daten schicken. (OK, in meinem Confixx steht zwar was von 380 GB, aber eigentlich hab ich unlimited Traffic ... ich liebe diese Freiheit) |
Re: zu erwartenden Traffic berechnen
Also rechne mal ungefähr mit
40 Byte TCP/IP + Zitat:
Length(daten) (z.B. : "name=Depp&text=Ich bin doof ") Gruß Neutral General |
Re: zu erwartenden Traffic berechnen
Ich habe mal etwas in der Delphi-Hilfe gelesen. Dort steht, daß Delphi ein string als AnsiString kompiliert. AnsiString belegt 4 Byte.
Delphi-Quellcode:
Somit würde der Inhalt der variable text einen Speicherverbrauch von 64 Bytes ergeben (laenge * size). var text:string; size:integer; laenge:integer; text:='Ich bin ein Depp'; size:=sizeOf ( text ); // das ergibt 4 laenge:=length ( text ); // ergibt 16 Stimmt das soweit oder liege ich total falsch? |
Re: zu erwartenden Traffic berechnen
Du liegst total falsch^^
Der Inhalt der Variable text ist 16 Bytes groß. Falls Unicode, dann 32. Aber eher 16. Zur Erklärung: Ein String ist (in Delphi) ein Pointer. D.h. SizeOf(text) gibt dir nur die größe des Pointers zurück der auf den eigentlichen (16 byte langen) String zeigt. Und die ist wie bei jedem (32-Bit) Pointer 4 Byte |
Re: zu erwartenden Traffic berechnen
Wie kommst Du auf 16 Bytes? Hängt das nur mit der Länge der Variable Text zusammen?
Aber warum steht dann in der Delphi-Hilfe, daß AnsiString einen erforderlichen Speicherplatz von 4 Byte bis 2 GB hat? Sorry, aber bei solchen Themen stehe ich öfters auf dem Schlauch. Edit: Kommando zurück. Unsere Posts haben sich wohl zeitlich überschnitten. :wink: Edit 2: Gefällt mir natürlich. So würde der Text nur 16 Byte statt 64 verbrauchen. Soll mir recht sein. :-D |
Re: zu erwartenden Traffic berechnen
Liste der Anhänge anzeigen (Anzahl: 1)
Schau dir mal den Anhang an. In Delphi und im Arbeitsspeicher ist ein String immer mindestens 4 Byte groß weil er immer mindestens aus einem Zeiger besteht, der im extremfall entweder auf nichts zeigt
(4 Byte Pointer + 0 Byte String) oder den kompletten Arbeitsspeicher belegt: (4 Byte Pointer + ca. 2GB String) Diese 4 Byte für den Pointer fallen in Dateien und bei Übertragungen aber (quasi) weg. |
Re: zu erwartenden Traffic berechnen
Achso, also belegt ein String immer...
sizeof(text) + length(text) .. in Bytes? Sag' mal, sendet TidHttp so einen String (als link gesehen) ganz normal oder als Unicode? Ich hoffe mal, daß ersteres der Fall ist. Außerdem müßte ich ja sowieso vorher z.B. Leerzeichen in %20 umwandeln. Oder macht das TidHttp automatisch? Edit: Die Umwandlung würde ja den String auch etwas verlängern. |
Re: zu erwartenden Traffic berechnen
Wie der String in Delphi, bzw. im Speicher aufgebaut ist, ist ja vollkommen egal, da nur der Inhalt versendet wird .
> also Length(Text) und wieviele Bytes das nun beim Senden ergibt, hängt von der Kodierung ab, wobei der Header wohl eher als ASCII gesendet wird, also bei der URL Length(Text) = gesendete Byte (zuzüglich der restlichen Headerinfos) ... wie gesagt, du kannst nicht einfach nur ausgehend von Length(URL) die Größe des gesamten Traffics errechnen. |
Re: zu erwartenden Traffic berechnen
Das mit den zusätzlichen Bytes durch Http ist nun ja auch klar.
Erstmal vielen Dank für Eure Hilfe. Das hilft mir sehr weiter. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 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