Рейтинг:0

ускорение выполнения scapy — перехват пакетов

флаг sy

Я разрабатываю приложение, которое будет отслеживать некоторые данные в режиме реального времени. Приложение должно собирать данные из сети, анализировать соответствующие пакеты из моего протокола и сохранять их в базе данных.

Когда запускаю приложение - вроде все ок, но потом через несколько секунд начинают появляться лаги.

Проверяя мою базу данных, кажется, что некоторые данные не сохраняются, а другие сохраняются (я использую пакетный проигрыватель для ввода пакетов на свой компьютер. Проверка с помощью Wireshark, все данные, которые есть). Данные хранятся в нескольких таблицах, и все таблицы имеют одинаковую проблему, поэтому я подозрительно отношусь к scapy.

Проверяю статистику Wireshark, у меня около 200 пакетов в секунду.

Есть ли способ улучшить его производительность?

я использую sniff(iface="Работает", filter = "порт 52000", prn=my_parsing_func, store = false) команда

PS - я использую ОС win 10, python 3.7.4.

флаг us
Вам нужно профилировать ваше приложение, чтобы увидеть, где находится узкое место. Скорее всего, это ваша запись в базу данных. Выяснив узкое место, вам нужно сосредоточиться на улучшении этой части.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.