[LINUX] Führen Sie iperf mit Python aus

Einführung

Ich wollte iperf mit Python anstelle eines Shell-Skripts ausführen, hatte aber kein japanisches Dokument, daher lasse ich einen einfachen Weg, dies zu tun.

Umgebung

Ubuntu 14.04 python 3.5.1

Vorbereitung

Installieren Sie zuerst den Python-Wrapper mit pip. pip install iperf3 Es ist auch möglich, direkt aus dem Github-Repository zu installieren, ohne pip zu verwenden.

git clone https://github.com/thiezn/iperf3-python.git
cd iperf3-python
python3 setup.py install

Wie benutzt man

Serverseitiger Code

iperf_server.py


#!/usr/bin/env python3

import iperf3

server = iperf3.Server()
print('Running server: {0}:{1}'.format(server.bind_address, server.port))

while True:
    result = server.run()

    if result.error:
        print(result.error)
    else:
        print('')
        print('Test results from {0}:{1}'.format(result.remote_host,
                                                 result.remote_port))
        print('  started at         {0}'.format(result.time))
        print('  bytes received     {0}'.format(result.received_bytes))

        print('Average transmitted received in all sorts of networky formats:')
        print('  bits per second      (bps)   {0}'.format(result.received_bps))
        print('  Kilobits per second  (kbps)  {0}'.format(result.received_kbps))
        print('  Megabits per second  (Mbps)  {0}'.format(result.received_Mbps))
        print('  KiloBytes per second (kB/s)  {0}'.format(result.received_kB_s))
        print('  MegaBytes per second (MB/s)  {0}'.format(result.received_MB_s))
        print('')

Dann der clientseitige Code

iperf_client.py


#!/usr/bin/env python3

import iperf3

client = iperf3.Client()
client.duration = 10 # Measurement time [sec]
client.server_hostname = '192.168.1.1' # Server's IP address

print('Connecting to {0}:{1}'.format(client.server_hostname, client.port))
result = client.run()

if result.error:
    print(result.error)
else:
    print('')
    print('Test completed:')
    print('  started at         {0}'.format(result.time))
    print('  bytes transmitted  {0}'.format(result.sent_bytes))
    print('  retransmits        {0}'.format(result.retransmits))
    print('  avg cpu load       {0}%\n'.format(result.local_cpu_total))

    print('Average transmitted data in all sorts of networky formats:')
    print('  bits per second      (bps)   {0}'.format(result.sent_bps))
    print('  Kilobits per second  (kbps)  {0}'.format(result.sent_kbps))
    print('  Megabits per second  (Mbps)  {0}'.format(result.sent_Mbps))
    print('  KiloBytes per second (kB/s)  {0}'.format(result.sent_kB_s))
    print('  MegaBytes per second (MB/s)  {0}'.format(result.sent_MB_s))

abschließend

Damit kann vorerst der Durchsatz des Netzwerks gemessen werden. Der Server (192.168.1.1) und der Client führen 10 Sekunden lang Messungen mit iperf3 durch. Obwohl in diesem Code nicht geändert, ist es möglich, die Portnummer und UDP / TCP sowie iperf anzugeben, die in der Befehlszeile ausgeführt werden.

Verweise

https://pypi.python.org/pypi/iperf3 https://github.com/thiezn/iperf3-python

Recommended Posts

Führen Sie iperf mit Python aus
Führen Sie Python mit VBA aus
Führen Sie prepDE.py mit python3 aus
Führen Sie Blender mit Python aus
Führen Sie Python mit CloudFlash aus (arm926ej-s)
Führen Sie Label mit tkinter [Python] aus.
Führen Sie mruby mit Python oder Blender aus
Führen Sie XGBoost mit Cloud Dataflow (Python) aus.
Führen Sie Aprili von Python auf Orange aus
Führen Sie python3 Django1.9 mit mod_wsgi aus (deploy)
Bis Python auf Apache läuft
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go
In Python integrieren
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Führen Sie das Servo mit Python unter ESP32 (Windows) aus.
Führen Sie eine Python-Webanwendung mit Docker aus
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Sequentielle Suche mit Python
"Objektorientiert" mit Python gelernt
Löse AtCoder 167 mit Python
Serielle Kommunikation mit Python
[Python] Verwenden Sie JSON mit Python
Lerne Python mit ChemTHEATER
Tweets mit Python sammeln
3. 3. KI-Programmierung mit Python
Kernel-Methode mit Python
Nicht blockierend mit Python + uWSGI
Scraping mit Python + PhantomJS
Tweets mit Python posten
Fahren Sie WebDriver mit Python
Verwenden Sie Mecab mit Python 3
[Python] Mit CGIHTTPServer umleiten
Sprachanalyse mit Python
Denken Sie an Yaml mit Python
Führen Sie Python aus Excel aus
Python> Mit Laufzeitargumenten ausführen> Import argparse verwenden
Kinesis mit Python betreiben
Erste Schritte mit Python
Zundko Getter mit Python
Behandle Excel mit Python