资源简介
Iperf-网络性能测试工具--linux,可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,测试延迟抖动和数据包丢失
代码片段和文件信息
#!/usr/bin/env python
“““
Extract iperf data from json blob and format for gnuplot.
“““
import json
import os
import sys
from optparse import OptionParser
import pprint
# for debugging so output to stderr to keep verbose
# output out of any redirected stdout.
pp = pprint.PrettyPrinter(indent=4 stream=sys.stderr)
def generate_output(iperf options):
“““Do the actual formatting.“““
for i in iperf.get(‘intervals‘):
for ii in i.get(‘streams‘):
if options.verbose:
pp.pprint(ii)
row = ‘{0} {1} {2} {3} {4}\n‘.format(
round(float(ii.get(‘start‘)) 4)
ii.get(‘bytes‘)
# to Gbits/sec
round(float(ii.get(‘bits_per_second‘)) / (1000*1000*1000) 3)
ii.get(‘retransmits‘)
round(float(ii.get(‘snd_cwnd‘)) / (1000*1000) 2)
)
yield row
def summed_output(iperf options):
“““Format summed output.“““
for i in iperf.get(‘intervals‘):
row_header = None
byte = list()
bits_per_second = list()
retransmits = list()
snd_cwnd = list()
for ii in i.get(‘streams‘):
if options.verbose:
pp.pprint(i)
# grab the first start value
if row_header is None:
row_header = round(float(ii.get(‘start‘)) 2)
# aggregate the rest of the values
byte.append(ii.get(‘bytes‘))
bits_per_second.append(float(ii.get(‘bits_per_second‘)) / (1000*1000*1000))
retransmits.append(ii.get(‘retransmits‘))
snd_cwnd.append(float(ii.get(‘snd_cwnd‘)) / (1000*1000))
row = ‘{h} {b} {bps} {r} {s}\n‘.format(
h=row_header
b=sum(byte)
bps=round(sum(bits_per_second) 3)
r=sum(retransmits)
s=round(sum(snd_cwnd) / len(snd_cwnd) 2)
)
yield row
def main():
“““Execute the read and formatting.“““
usage = ‘%prog [ -f FILE | -o OUT | -v ]‘
parser = OptionParser(usage=usage)
parser.add_option(‘-f‘ ‘--file‘ metavar=‘FILE‘
type=‘string‘ dest=‘filename‘
help=‘Input filename.‘)
parser.add_option(‘-o‘ ‘--output‘ metavar=‘OUT‘
type=‘string‘ dest=‘output‘
help=‘Optional file to append output to.‘)
parser.add_option(‘-s‘ ‘--sum‘
dest=‘summed‘ action=‘store_true‘ default=False
help=‘Summed version of the output.‘)
parser.add_option(‘-v‘ ‘--verbose‘
dest=‘verbose‘ action=‘store_true‘ default=False
help=‘Verbose debug output to stderr.‘)
options _ = parser.parse_args()
if not options.filename:
parser.error(‘Filename is required.‘)
file_path = os.path.normpath(options.filename)
if not os.path.exists(file_path):
parser.error(‘{f
相关资源
- Linux网络编程 第2版带详细目录
- linux网络编程聊天工具代码
- Linux网络编程超级详细笔记
- linux网络编程教学视频
- 基于Linux网络聊天室的设计
- linux网络编程课程设计
- Linux网络编程(四)——epoll+多线程实
- linux网络编程源码
- linux网络设备驱动
- VMware下RedHat Linux网络设置
- iperf-3.1.3源代码
- 基于linux网络聊天室
- linux网络编程
- 网络操作系统试卷A及答案
- 基于Linux网络聊天室的设计(课程设计
- iperf3.1-最新版本源码
- linux网络编程 文字版
- Linux网络抓包工具pcap,界面采用Qt制作
- linux网络编程(TCP多人在线聊天室)
评论
共有 条评论