У меня есть простой скрипт на Python для получения данных из сокета UDP, объединения 500 данных UDP (~ 4 КБ каждый) и отправки этих данных в конечную точку Curl. В небольшом масштабе около 100 UDP / сек моя программа работает.
import socket
UDP_IP = "127.0.0.1"
UDP_PORT = 5005
mylist = []
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
sock.bind((UDP_IP, UDP_PORT))
while True:
data, addr = sock.recvfrom(4096)
mylist.add(data)
if len(mylist) == 500:
# change mylist to json logic
curl XPOST 'Endpoint' --mylist 'application/json' # Basically Curl Xpost the data to endpoint.
del mylist[:]
Мой вопрос здесь
- Если я получу данные UDP, поступающие с более высокой скоростью ~ 3k-4k UDP / сек, у меня закончится ОЗУ? Дисковое пространство? ETH? Потеряю ли я UDP, пока отбираю данные в конечную точку?
- Как мне решить эти проблемы? Получить больше оперативной памяти, диска, эт? Любые указатели будут полезны.