Rolf Roessel: Geschwindigkeit ermitteln

Hallo

da ich nicht viel Ahnung habe brauche ich mal Hilfe. Möchte per JavaScript die Übertragungsgeschwindigkeit ermittel, also die tatsächliche kb/s einer Verbindung.

Mache das derzeit mit folgender Formel

kbytes = 10/timeElapsed;
bits = kbytes * 1024 * 8;

wobei die 10 die Grafikgröße ist in kb und timeElapsed die Zeit.
Für mich stellt sich die Frage ob die Variable bits richtig gerechnet ist, ISDN hat ja theoretisch 64000 bit/s und ich möchte ermitteln mit wieviel die Grafik übertragen wurde.

MfG
Rolf Rössel

  1. Hi,

    kbytes = 10/timeElapsed;
    bits = kbytes * 1024 * 8;

    Für mich stellt sich die Frage ob die Variable bits richtig gerechnet ist,

    nein, denn sie geht von mindestens zwei falschen Werten aus. Die Größe der Datei ist irrelevant, weil die Ressource größer ist - Stichwort Request- und Response-Header - oder aber auch kleiner - Stichwort Komprimierung. Zudem musst Du von timeElapsed noch die Dauer des Roundtrips abziehen, welche Dir unbekannt ist und einen _beträchtlichen_ Teil der Zeit ausmacht, und Du unterscheidest nicht zwischen Hin- und Rückweg.

    Wären die Werte richtig, wäre es auch Deine Rechnung. Als Ergebnis bekämst Du die Geschwindigkeit _dieser_ Übertragung, welche stark von anderen abweichen kann.

    Also: Du arbeitest mit aus der Luft gegriffenen Zahlen, würdest aber auch mit "korrekten Werten" (was immer das hierbei sein soll) nutzfreie Ergebnisse bekommen.

    Cheatah

    --
    X-Will-Answer-Email: No
    1. Hallo

      Danke Dir das habe ich mir schon fast gedacht. Wundere mich immer wieder bei Countern über die Aussage "wir Ermitteln ob der User per DSL oder ISDN online ist"

      Rolf Rössel

      1. Hi,

        Wundere mich immer wieder bei Countern über die Aussage "wir Ermitteln ob der User per DSL oder ISDN online ist"

        Aussagen von Leuten anzuzweifeln, die Counter anbieten, ist mit Sicherheit nicht verkehrt... :-)

        Cheatah

        --
        X-Will-Answer-Email: No
        1. Hi,

          Wundere mich immer wieder bei Countern über die Aussage "wir Ermitteln ob der User per DSL oder ISDN online ist"

          Aussagen von Leuten anzuzweifeln, die Counter anbieten, ist mit Sicherheit nicht verkehrt... :-)

          "anzweifeln" finde ich unpassend, "kritisch hinterfragen" und "vergleichen", was einem da angeboten werden soll, treffender!!!

          Man kann die Geschwindigkeit schon messen, aber:
          Wie Du schon erwähntest, reicht die Beachtung der Nutzdaten nicht aus, Header usw. sind (besonders bei kleiner Menge der zu übertragenden Nutzdaten) nicht zu unterschätzen.
          Die Aussage, ob jemand mit "DSL oder ISDN" unterwegs sei, muß man auch ganz anders darstellen:
          Es gibt eigentlich in diesem Fall nur das Ausschlußverfahren, denn jemand, der mit mehr als 64kbit/s (~8kByte/s) unterwegs ist, kann einfach kein ISDN haben. Dagegen ist der Umkehrschluß nicht möglich.
          Die Einordnung in Gruppierungen ist auch nur effektiv möglich, d.h. ob jemand, der mit zufälligerweise 80-90kByte/s auf eine Seite zugreift, wirklich DSL hat, ist nicht zu sagen. Er könnte auch aus einem schnelleren Firmennetz kommen und hat im Moment leider eine rel. niedrige Geschwindigkeit, weil derzeit viel in seinem Netz los ist.
          Generell muß man sowas bei statistischen Betrachtungen immer so darstellen!

          Gruß
          Reiner

          1. Hi,

            Aussagen von Leuten anzuzweifeln, die Counter anbieten, ist mit Sicherheit nicht verkehrt... :-)

            "anzweifeln" finde ich unpassend, "kritisch hinterfragen" und "vergleichen", was einem da angeboten werden soll, treffender!!!

            ja, ACK, so war's auch gemeint.

            Man kann die Geschwindigkeit schon messen, aber:

            Man kann _eine_ _Dauer_ messen. Weder hat man dadurch eine Datenmenge, noch weiß man etwas über die Irrwege und das Hin und Her der Daten.

            Die Aussage, ob jemand mit "DSL oder ISDN" unterwegs sei, muß man auch ganz anders darstellen:

            Eigentlich nicht. Bisher habe ich den Begriff "Browsercache" noch nicht erwähnt. Proxies gehen in die gleiche Richtung; und Datenkompression habe ich schon genannt. Wenn Du bei einer vorausgesetzten Datenmenge von 10 KByte eine beyond-ISDN-Geschwindigkeit berechnet hast, in Wirklichkeit aber nur 2.2 KByte übertragen wurden, bist Du Tor so schlau als wie zuvor.

            Dagegen ist der Umkehrschluß nicht möglich.

            Ein Schluss ist _gar nicht_ möglich. Du hast einfach keinerlei Daten vorliegen, die irgendeine Möglichkeit ausschließen lassen. Von der Fehlerquote bei so kleinen Datenmengen, die Du ja schon nanntest, ganz zu schweigen.

            Generell muß man sowas bei statistischen Betrachtungen immer so darstellen!

            Generell gilt bei statistischen Betrachtungen: Traue keiner Statistik, die Du nicht selbst gefälscht hast ;-)

            Cheatah

            --
            X-Will-Answer-Email: No
            1. Man kann _eine_ _Dauer_ messen. Weder hat man dadurch eine Datenmenge, noch weiß man etwas über die Irrwege und das Hin und Her der Daten.

              Hae?
              Wieso bekommst Du die Datenmenge nicht?

              Die Aussage, ob jemand mit "DSL oder ISDN" unterwegs sei, muß man auch ganz anders darstellen:

              Eigentlich nicht. Bisher habe ich den Begriff "Browsercache" noch nicht erwähnt. Proxies gehen in die gleiche Richtung; und Datenkompression habe ich schon genannt. Wenn Du bei einer vorausgesetzten Datenmenge von 10 KByte eine beyond-ISDN-Geschwindigkeit berechnet hast, in Wirklichkeit aber nur 2.2 KByte übertragen wurden, bist Du Tor so schlau als wie zuvor.

              Die Effektivität vom Caching ist wieder was anderes.
              Aber für die Messung kann man das durch rel. zufällige Daten und URLs (Anhängen SessionID o.ä. Techniken) umgehen.

              Dagegen ist der Umkehrschluß nicht möglich.

              Ein Schluss ist _gar nicht_ möglich. Du hast einfach keinerlei Daten vorliegen, die irgendeine Möglichkeit ausschließen lassen. Von der Fehlerquote bei so kleinen Datenmengen, die Du ja schon nanntest, ganz zu schweigen.

              Generell muß man sowas bei statistischen Betrachtungen immer so darstellen!

              Generell gilt bei statistischen Betrachtungen: Traue keiner Statistik, die Du nicht selbst gefälscht hast ;-)

              Ja, klar!

              1. Hi,

                Man kann _eine_ _Dauer_ messen. Weder hat man dadurch eine Datenmenge, noch weiß man etwas über die Irrwege und das Hin und Her der Daten.
                Wieso bekommst Du die Datenmenge nicht?

                HTTP-Header, Kompression. Du weißt nur, wie groß die beim Server liegende Datei ist, nicht aber, wie viele Daten übertragen werden.

                Eigentlich nicht. Bisher habe ich den Begriff "Browsercache" noch nicht erwähnt. Proxies gehen in die gleiche Richtung; und Datenkompression habe ich schon genannt. Wenn Du bei einer vorausgesetzten Datenmenge von 10 KByte eine beyond-ISDN-Geschwindigkeit berechnet hast, in Wirklichkeit aber nur 2.2 KByte übertragen wurden, bist Du Tor so schlau als wie zuvor.
                Die Effektivität vom Caching ist wieder was anderes.

                Ja, aber um die Effektivität geht es hier nicht, sondern um die Existenz.

                Aber für die Messung kann man das durch rel. zufällige Daten und URLs (Anhängen SessionID o.ä. Techniken) umgehen.

                Ja. Damit ist _ein_ Problem gelöst, welches nicht wirklich das wesentliche ist.

                Cheatah

                --
                X-Will-Answer-Email: No
                  1. Hi,

                    http://www.verivox.de/Internet/Netmeter/index.asp?j=t

                    "Sie haben Java deaktiviert. Um die Messung vornehmen zu können, muß Java aktiviert sein." - dazu ein leeres Popup. Was willst Du mir damit sagen?

                    Cheatah

                    --
                    X-Will-Answer-Email: No
                    1. Hi,

                      http://www.verivox.de/Internet/Netmeter/index.asp?j=t

                      "Sie haben Java deaktiviert. Um die Messung vornehmen zu können, muß Java aktiviert sein." - dazu ein leeres Popup. Was willst Du mir damit sagen?

                      Cheatah

                      Das hast Du schon selbst beantwortet....

          2. Moin Moin !

            Es gibt eigentlich in diesem Fall nur das Ausschlußverfahren, denn jemand, der mit mehr als 64kbit/s (~8kByte/s) unterwegs ist, kann einfach kein ISDN haben.

            Schonmal was von Kanalbündelung gehört ?
            Zwei B-Kanäle bringen 128 KBit/s, also als Daumenfaktor 16 KByte/s.
            Und bei zwei B-Kanälen ist nicht Schluß: Wer verrückt genug ist, Kanalbündelung über einen Primärmultiplex-Anschluß zu machen, hat so etwa 30 B-Kanäle (oder mehr ?) zum Bündeln zur Verfügung, sofern der Provider auf der Gegenseite mit macht. Das wären dann 30x64 KBit/s=1920 KBit/s, rund 240 KByte/s. Und damit sogar schneller als T-DSL.

            Alexander

            --
            Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
            Mein "Lieblings-Forums-Bug": http://cforum.teamone.de/phpbt/bug.php?op=show&bugid=103&pos=2
            1. Moin Moin !

              Es gibt eigentlich in diesem Fall nur das Ausschlußverfahren, denn jemand, der mit mehr als 64kbit/s (~8kByte/s) unterwegs ist, kann einfach kein ISDN haben.

              Schonmal was von Kanalbündelung gehört ?
              Zwei B-Kanäle bringen 128 KBit/s, also als Daumenfaktor 16 KByte/s.
              Und bei zwei B-Kanälen ist nicht Schluß: Wer verrückt genug ist, Kanalbündelung über einen Primärmultiplex-Anschluß zu machen, hat so etwa 30 B-Kanäle (oder mehr ?) zum Bündeln zur Verfügung, sofern der Provider auf der Gegenseite mit macht. Das wären dann 30x64 KBit/s=1920 KBit/s, rund 240 KByte/s. Und damit sogar schneller als T-DSL.

              Joa, dann ist das kein "normales" ISDN mehr.
              Du nagelst mich jetzt auf dieses Wort fest. Aber was Du da machst, fällt in eine andere Geschwindigkeitsgruppe. Mir als Sitebetreiber kann es egal sein, WIE Du diese Geschwindigkeit techn. hinbekommen hast. Für mich ist das def. KEIN ISDN (ein Kanal)!

  2. Hallo

    da ich nicht viel Ahnung habe brauche ich mal Hilfe. Möchte per JavaScript die Übertragungsgeschwindigkeit ermittel, also die tatsächliche kb/s einer Verbindung.

    Mache das derzeit mit folgender Formel

    kbytes = 10/timeElapsed;
    bits = kbytes * 1024 * 8;

    Wenn's dir Spaß macht, kannst du es ja mla so versuchen, aber auch ich halte die Aussagekraft für gering.

    var t1, t2, img;

    img = new Image();
    img.onload = stopTime;
    t1 = new Date();
    img.src = 'test3.jpg' + '?' + Math.random();

    function stopTime()
    {
    t2 = new Date();
    alert("Es hat " + (t2.getTime() - t1.getTime()) + " ms gedauert um " + this.fileSize + ' zu laden.');
    }

    funktioniert so nur im IE wegen der eigenschaft fileSize.

    Struppi.