Solvita: kontrolu interretan rapidon per python

La ĉefa problemo pri kontrolado de interreta rapideco per Python estas, ke ne ekzistas normigita maniero fari ĝin. Malsamaj programoj donos al vi malsamajn rezultojn, kaj eĉ se unu programo diras, ke via konekto estas rapida, tio eble ne estas la kazo en realeco.

import speedtest import os import time def test_speed(): s = speedtest.Speedtest() s.get_best_server() s.download() s.upload() return s.results.dict()['download'] / 8000000,  s.results.dict()['upload'] / 8000000,  s.results.dict()['ping'] def main(): while True: download, upload, ping = test_speed() print('Download: {:0.2f} MbpstUpload: {:0.2f} MbpstPing: {} ms'.format(download, upload, ping)) time.sleep(5) if __name__ == '__main__': main()

La unuaj tri linioj importas la rapidteston, os, kaj tempmodulojn.

La sekva linio difinas funkcion nomatan test_speed(). Ĉi tiu funkcio uzas la speedtest-modulon por testi la rapidecon de la interreta konekto kaj resendas la rezultojn.

La sekva linio difinas funkcion nomatan main(). Ĉi tiu funkcio vokas la funkcion test_speed() kaj presas la rezultojn. Ĝi tiam dormas dum 5 sekundoj antaŭ ol ripeti.

Fine, se ĉi tiu dosiero estas rulita kiel skripto (prefere ol esti importita kiel modulo), la funkcio main() estas vokita.

Kio estas interreta rapideco

La rapideco de la interreto en Python povas esti mezurita en bajtoj je sekundo.

Servoj pri Interreto-rapideco

Estas kelkaj malsamaj manieroj mezuri la rapidecon de interreta konekto en Python. La plej simpla maniero estas uzi la enkonstruitan funkciotempon. time() presas la aktualan tempon en sekundoj.

La dua maniero mezuri la rapidecon de interreta konekto estas uzi la netstat-komando. netstat montras ĉiujn aktivajn retajn konektojn kaj ilian staton. Por ricevi informojn pri la rapideco de specifa retkonekto, uzu la opcion -i:

$ netstat -i | grep “:80” Aktivaj Interretaj konektoj (serviloj kaj klientoj) Proto Recv-Q Send-Q Loka Adreso Fremda Adreso Ŝtata PID/Programnomo tcp 0 0 127.0.0.1:80 0.0.0.0:* aŭskultu 548/sshd tcp6 0 0 : ::80 :::* aŭskultu 672/docker tcp6 0 1 ::1:80 :::* aŭskultu 672/docker

Rilataj afiŝoj:

Lasu komenton