Я использую программу питона, чтобы сделать генератор трафика в Linux Ubuntu, а код, как показано ниже:SendTo() питон
import socket, sys
host = sys.argv[1] #Server IP Address
textport = sys.argv[2] #Server Binding Port
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #socket
try:
port = int(textport)
except ValueError:
port = socket.getservbyname(textport, 'udp')
while 1:
try:
data = open('auth3.log')#read file
for each_line in data: #each rows
try:
(role,line_spoken) = each_line.split(': ',1)#split two parts
role = role.strip()
s.sendto(role, (host, port))
print('Send: ' + str(role) + "\n")
except:
pass
except IOError as err:
print('file isn\'t exist!!~'+str(err))
finally:
if 'data' in locals(): #If data have no object, Don't use data to close!!~
data.close()
print "\n"
Размер auth3.log составляет около 1,8 м.
Когда я отправляю данные на целевой сервер, я использую snmp, который OID является '' ifInOctets '', чтобы получить информацию о трафике.
Но трафик пересчитывать к единице «» «» килобит около 128.
Как я могу использовать эту программу, чтобы заполнить пропускную способность до 1Gbits? (Другими словами, я хочу, чтобы заполнить полоса пропускания)
Спасибо за помощь.
Большое спасибо. Имеются ли средства, связанные с «запуском нескольких процессов параллельно», - это способ, которым мне нужно многопоточно обрабатывать эту программу? – waynner
@WayneHong Я имел в виду, что вы можете запустить более одного экземпляра всей программы. Вы измеряли использование полосы пропускания с этой версией? – user4815162342
Итак, мне нужно использовать объектно-ориентированное программирование для создания более одного экземпляра, который является объектом класса? Ширина полосы пропускания составляет около 600 Мбит, которую я тестировал Netperf. – waynner