Výsledky 1 až 12 z 12

Téma: PHP: test rychlosti pripojeni

  1. #1
    Senior Member
    Založen
    09.10.2002
    Bydliště
    Praha
    Příspěvky
    1 404
    Vliv
    298

    Standardní PHP: test rychlosti pripojeni

    ahoj.. pokousim se o tento skript. bohuzel jsem nenasel nikde, kde by se dal stahnout korektne fungujici. teda ano, ale pouze javascript a ten je pro me nezadouci. takze jsem se nekolikrat pokusil speedtest napsat, ale bohuzel neuspesne.. tak se ptam.. nevite nekdo kde sosat, nemate nekdo tento skript vasi vyroby.. nebo nevite kde delam chybu, pripadne chyby?

    Citace Původně odeslal http://jey.wz.cz/files/test.php
    <?
    echo "<!--";
    for ($i=0;$i<100000;$i++) {
    $number=rand(0,255);
    $text.=chr($number);
    }
    $start=microtime();
    echo $text;
    $end=microtime();
    echo "-->\r\n";
    $start=((double)strstr($start," ")+(double)substr($start,0,strpos($start," ")));
    $end=((double)strstr($end," ")+(double)substr($end,0,strpos($end," ")));
    $kbit=round((1000/($end-$start)),1);
    $kb=round((1000/($end-$start)/8),1);
    echo $kbit."
    ".$kb;
    ?>
    bohuzel toto vyhazuje nesmysly, cachi by to byt nemelo, nebot jsou posilana data pokazde jina..

    ty ostatni pokusy jsem uz vetsinou smazal..

  2. #2

    Standardní

    Vzdyt tim PHPkem meris jen jak rychle vygeneruje kod ne Vse furt na servru.

    Pokud to chces na strane serveru tak treba pomoci nejakeho externiho merice (jsou o tom clanky na Lupe nebo i v usenetu jyxo.cz a jinde). Jsou to ale vetsinou programky linux-only.


    Proc JS nechces? Pro tak specifickou zalezitost bych neuvazoval nad vypnutym JS.

    Napr jsem nekde videl ze to bylo delano merenim nacitani obrazku a bylo to dost presne i na nekolik pokusu.

  3. #3
    Senior Member
    Založen
    09.10.2002
    Bydliště
    Praha
    Příspěvky
    1 404
    Vliv
    298

    Standardní

    jasne, ale ja se snazim o vsepristupne stranky, html + css validni, a co nejvetsi kompatibilitu, takze javascript neni zrovna idealni. ano, takovy skript mam a funguje. ale chtel bych pouzit radeji neco v php, hlavne proto, ze chci pote take s vyslednymi promenymi dale pracovat, porovnavat nejvyssi dosazene vysledky, jak pro vsechny uzivatele, tak taky kazdeho uzivatele osobni rekordy a ukladat je treba do souboru, nebo databaze..

    tyhle rychlosti testy jsou na netu v js, asp i php..

    <script type="text/javascript">
    time=new Date();
    start=time.getTime();
    </script>
    <comment>
    ..
    presne 100000(minus <comment> a </comment>) ruznych znaku
    ..
    </comment>
    <script type="text/javascript">
    time=new Date();
    end=time.getTime();
    diff=0;
    if (end>start) {diff=(end-start)/1000;}
    speed=100/diff;
    kbps=(Math.round((speed*8)*10))/10;
    point=(718/1088);
    width=(kbps*point);
    if (width>718) {width=718};
    kb=kbps/8;
    kb=(Math.round(kb*10)/10);
    kbps=(Math.round(kbps*10)/10);
    document.write('<div class="title">Rychlost připojení</div>');
    document.write('<table cellspacing="0" cellpadding="0" border="0" width="',width,'" height="12">');
    document.write('<tr>');
    document.write('<td width="',width,'" height="12" bgcolor="#667F89"></td>');
    document.write('</tr>');
    document.write('</table>');
    document.write('[img]bg1.gif[/img]
    ');
    document.write('Rychlost připojení: ',kbps,' kb/s
    ');
    document.write('Rychlost stahování: ',kb,' KB/s
    ');
    </script>

  4. #4

    Standardní

    Podivej se na to takhle matematicky(jde nam o rychlost spoje server<=>klient):
    Abys zmeril rychlost budes na 99% potrebovat nejake casove fce, ze? =>
    musis pouzit nejaky skriptovaci jazyk && nachces to na strane klienta(JS atd) =>
    musis pouzit neco na strane serveru
    Na tom se shodnem? Dale:
    V PHP mi neni znama zadna fce ktera komunikuje(datove) s klientem (Snad jen mozna SetCookie ale tu tu za a, nezmeris protoze musi byt na zacatku a za b, je to prasarna) =>
    musis pouzit nejakou externi aplikaci


    PS: zkus mi pls jen vysvetlit jak funguje ten skript cos sem postl protoze nejak mi to nedochazi jak to funguje. Ten druhy cos postl IMHO akorat vykona nejaky vypocet na klientovi. Zadne spojeni se serverem. Proste mi unika smysl

    PSS: a kdyz ti jde o validitu tak co je pls tag <comment> ? Ten asi moc validni neni ze

  5. #5

    Standardní

    Ne ze bych tomu nejak rozumel, ale nekde sem nasel tenhle skript a vypada to i na docela realny vysledky co sem to tak zkousel....
    Kód:
    <? 
    $time1 = microtime&#40;&#41;; 
    $time1 = explode&#40;" ",$time1&#41;; 
    $time1 = $time1&#91;1&#93; + $time1&#91;0&#93;; 
    // toto musí být na úplném začátku stránky 
    $rd = "100000"; ?> 
    
    NAKEJ OBSAH STRANKY
    
    <? 
    $time2 = microtime&#40;&#41;; 
    $time2 = explode&#40;" ",$time2&#41;; 
    $time2 = $time2&#91;1&#93; + $time2&#91;0&#93;; 
    $deltatime = $time2 - $time1; 
    $deltatime = &#40;round&#40;&#40;$deltatime*$rd&#41;&#41;&#41;/$rd; 
    echo "stránka byla natažena za $deltatime sekund."; 
    ?>
    nic....

  6. #6

    Standardní

    Myslim, ze o tohle mu vubec nejde, on chce udelat speedmeter a ty mu sem davas mereni ,za jak dlouho se vygeneruje stranka.
    *NIX GG

  7. #7

    Standardní

    Citace Původně odeslal Hanta
    Myslim, ze o tohle mu vubec nejde, on chce udelat speedmeter a ty mu sem davas mereni ,za jak dlouho se vygeneruje stranka.
    no ale takhle se to prave dela, protoze znas velikost te stranky (nebo nejakejch nahodnejch znaku nebo obrazku nebo ceho chces) a pak se dozvis i to, za jak dlouho se to natahlo, coz ti da prumernou rychlost natahovani te stranky

    Beztak se mi nejak nezda, ze by do toho nemusel zasahovat klient. Prece interpret php neceka, az se klientovi natahne cast stranky a pak aby poslal dalsi. To se prece napred interpretuje a az pak se posila klientovi ne opravte me jestli se mylim

    EDIT: Hanta: sorry, rikals to dobre, jen sem to nejak blbe pochopil
    1) ASUS M6A
    2) Toshiba Portége R600-10U
    3) ASUS A8V-X AMD Athlon 64 3000+ Kingmax 2x256MB DDR 400 WD 120GB Samsung 80 GB GMC G30 Fortron FSP400-60THN-P
    Ideální indentace pro Pascal je šest stop pod zem.

  8. #8
    Senior Member mince Avatar uživatele puki
    Založen
    17.05.2003
    Bydliště
    Bratislava
    Příspěvky
    683
    Vliv
    286

    Standardní

    jedna moznost bez nekompatibilneho JS by mohla byt takato:
    1.) nejake generate.php vygeneruje stranku plnu meranych dat
    2.) do onload zapise redirect na result.php?start_timestamp=1121312321 pricom ten cas je zapisany generujucou strankou v case generovania
    3.)po loade stranky, tato automaticky voal poziadavku na server na stranku
    result.php?start_timestamp=
    4.) result.php si spravi timestamp v case zavolania, porovna a ma priblizny casovy rozdiel medzi generovanim bulk dat a casom kedy boli dotiahnute

    alt1) kedze tento cas obsahuje cas ktory trva klientovi aby zavolal stranku v onload a tento moze byt dost rozdielny podla druhu pripojenia tak by nebolo od veci pred samotnym testom pustit 1 az N podobnych ale prazdnych stranok (bez bulk dat, len ciste html ), len aby sa zmerala primerna odozva (da sa pouzit ako dalsi parameter v merani
    a az potom sa spravi 1 az M testov z 'plnymi'strankami a az sa dostane na konecnu stranku vypocita sa rychlost - odpocitanim tej odozvy 'prazdnych' stranok

    snad je to dobra uvaha ...
    ... ted mam pokusenie prekonat lenivost a vecer si to overit ...

  9. #9
    Senior Member
    Založen
    09.10.2002
    Bydliště
    Praha
    Příspěvky
    1 404
    Vliv
    298

    Standardní

    Citace Původně odeslal Miiisa
    Ne ze bych tomu nejak rozumel, ale nekde sem nasel tenhle skript a vypada to i na docela realny vysledky co sem to tak zkousel....
    Kód:
    <? 
    $time1 = microtime&#40;&#41;; 
    $time1 = explode&#40;" ",$time1&#41;; 
    $time1 = $time1&#91;1&#93; + $time1&#91;0&#93;; 
    // toto musí být na úplném začátku stránky 
    $rd = "100000"; ?> 
    
    NAKEJ OBSAH STRANKY
    
    <? 
    $time2 = microtime&#40;&#41;; 
    $time2 = explode&#40;" ",$time2&#41;; 
    $time2 = $time2&#91;1&#93; + $time2&#91;0&#93;; 
    $deltatime = $time2 - $time1; 
    $deltatime = &#40;round&#40;&#40;$deltatime*$rd&#41;&#41;&#41;/$rd; 
    echo "stránka byla natažena za $deltatime sekund."; 
    ?>
    tohle vyhazuje totalni kraviny. vyzkousej si to sam a nerikej priste takovyhle veci. na pripojeni 32KB/s to vyhazuje vysledky jako 50KB/s apod. navic je to naprosto ten samy skript jako ten muj, akorat ze ma o 100kb vic:(

  10. #10
    Senior Member
    Založen
    09.10.2002
    Bydliště
    Praha
    Příspěvky
    1 404
    Vliv
    298

    Standardní

    Citace Původně odeslal puki
    jedna moznost bez nekompatibilneho JS by mohla byt takato:
    1.) nejake generate.php vygeneruje stranku plnu meranych dat
    2.) do onload zapise redirect na result.php?start_timestamp=1121312321 pricom ten cas je zapisany generujucou strankou v case generovania
    3.)po loade stranky, tato automaticky voal poziadavku na server na stranku
    result.php?start_timestamp=
    4.) result.php si spravi timestamp v case zavolania, porovna a ma priblizny casovy rozdiel medzi generovanim bulk dat a casom kedy boli dotiahnute

    alt1) kedze tento cas obsahuje cas ktory trva klientovi aby zavolal stranku v onload a tento moze byt dost rozdielny podla druhu pripojenia tak by nebolo od veci pred samotnym testom pustit 1 az N podobnych ale prazdnych stranok (bez bulk dat, len ciste html ), len aby sa zmerala primerna odozva (da sa pouzit ako dalsi parameter v merani ;)
    a az potom sa spravi 1 az M testov z 'plnymi'strankami a az sa dostane na konecnu stranku vypocita sa rychlost - odpocitanim tej odozvy 'prazdnych' stranok :)

    snad je to dobra uvaha ...
    ... ted mam pokusenie prekonat lenivost a vecer si to overit ... ;)
    ripper: rekl jsi to dobre, nemylis se:(

    puki: jasne dobry napad.. ale bohuzel je to horsi nez ten js+php, nebot tady dost pujde o rychlost pingu, ktera bude znehodnocovat vysledky mereni. navic by to ani s framy ani bez nich neslo proste spravit.. resp slo, ale fakt je to k nicemu.

    takze udelam nejaky ten javascript merak.. treba ten ktery tu mam a pak presmerovani s vysledkem na php skript, ktery s vysledkem bude dale pracovat.. dik za ideu

  11. #11
    Senior Member
    Založen
    09.10.2002
    Bydliště
    Praha
    Příspěvky
    1 404
    Vliv
    298

    Standardní

    Citace Původně odeslal jedik
    Podivej se na to takhle matematicky(jde nam o rychlost spoje server<=>klient):
    Abys zmeril rychlost budes na 99% potrebovat nejake casove fce, ze? =>
    musis pouzit nejaky skriptovaci jazyk && nachces to na strane klienta(JS atd) =>
    musis pouzit neco na strane serveru
    Na tom se shodnem? Dale:
    V PHP mi neni znama zadna fce ktera komunikuje(datove) s klientem (Snad jen mozna SetCookie ale tu tu za a, nezmeris protoze musi byt na zacatku a za b, je to prasarna) =>
    musis pouzit nejakou externi aplikaci


    PS: zkus mi pls jen vysvetlit jak funguje ten skript cos sem postl protoze nejak mi to nedochazi jak to funguje. Ten druhy cos postl IMHO akorat vykona nejaky vypocet na klientovi. Zadne spojeni se serverem. Proste mi unika smysl :?

    PSS: a kdyz ti jde o validitu tak co je pls tag <comment> ? Ten asi moc validni neni ze ;)
    ten druhy skript je v pohode. zmeri, za jak dlouho se natahne 100kb textu. uz jsem zjistil jak s tim dal pracovat.. presmerovani pomoci javascriptu s vysledkem mereni na nejaky php.. treba ... result.php?result=122.1 - metoda get.

    ten prvni skript je kravina. php neceka na nejake nacitani html kodu, ale nejprve se interpretuje a pak teprve server posila cely kod html klientovi.

    jinak dik vsem a zejmena skriptu co jsem nasel na netu.. z nehoz vznikla finalni idea.

  12. #12

    Standardní

    No vidis ze pouzijes JS

    Ale neni uz teda lepsi pouzit to s tim obrazkem? Ono sice junk-data jako junk-data, ale takhle ti odpadne rezije v ramci presmerovani zpet na server.

    Jinak jsem se jukl na merice na nasi siti a nasel jsem tohle
    http://gambitdesign.com/bandwidthmeter/

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •