
H
18.06.2016
15:27:33
там на коленке скриптик просто

Alexey
18.06.2016
15:27:35
Стринги — не для мужиков.

H
18.06.2016
15:27:48
я этим же мотивировался!

Sergey
18.06.2016
15:33:23
в байтах или стрингах
Смотря чем мотивироваться. Байты совсем немного быстрее, но писать на один символ больше и надо об этом не забыть.

Google

H
18.06.2016
15:33:59
ну ок, спасибо, я потом подправлю
может быть ты еще и с snmp случайно на третьем питоне работал? :)

Sergey
18.06.2016
15:35:26
Работал, но это было давно и я не доделлал проект - уволился раньше

Alexey
18.06.2016
15:36:30

Sergey
18.06.2016
15:37:03

H
18.06.2016
15:37:19
а какую либу использовали?

Alexey
18.06.2016
15:37:32

Sergey
18.06.2016
15:37:41
Я же вроде писал выше, обычный pysnmp
Но там надо было десяток свитче опросить всего раз в несколько минут

Uncel
18.06.2016
15:38:29
https://github.com/fgimian/easysnmp

H
18.06.2016
15:38:58
это детский лепет, а не библиотека
там половины функций не реализовано
да и вообще это обертка над netsnmp

Google

Uncel
18.06.2016
15:40:29
Опроси 20к железок :)

H
18.06.2016
15:41:33
тот проект я на ГО переписал, там было очень критично быстродействие, который мне даже не дал асинхронный pysnmp
но сейчас надо другой делать, там по сути OSS для инженеров
они кнопочку нажали в веб форме, сделался запрос на свитч, что-то там сделал

Uncel
18.06.2016
15:43:08
Ну запали тогда на голэнге со всеми функциями

H
18.06.2016
15:43:33
библиотеку?

Roman
18.06.2016
15:43:37

H
18.06.2016
15:43:38
gosnmp

Sergey
18.06.2016
15:44:09
Может его допилили, но на тот момент, что я использовал pysnmp, он как-то странно работал под трешкой. Я в куче мест словил бесконечный цикл, при условии, что на 2x со старой версии либы было все ок

H
18.06.2016
15:44:12
32 сек против 22 у меня получилось в среднем
при меньшей нагрузке на сервер, почти в 2 раза
1к устройств в секунду примерно опрашивает
это топология интернет провайдера

Roman
18.06.2016
15:46:34
да я уже понял. там, скорее всего, всё в asn1 уперлось

Sergey
18.06.2016
15:46:41
Если хочется быстро - скорее всего придётся писать свою реализацию поверх epoll ну или хотя бы uvloop/asyncio.

Roman
18.06.2016
15:46:43

Sergey
18.06.2016
15:47:43
Это если 2x

H
18.06.2016
15:47:43

Google

H
18.06.2016
15:48:02
там по сути все осложняет то, что это топология дискаверится, новые данные поступают постепенно и их надо обрабатывать сразу, на ГО их просто в горутину закидываешь и все
а на питоне приходилось каждый раз создавать пачку заданий на выполнение
если бы были известны все устройства сразу, то было бы так же

Марк
18.06.2016
15:54:05

H
18.06.2016
15:54:19
окей, альтернативы?

Марк
18.06.2016
15:54:56
Я в лобовуху системные вызывал, благо не критично

H
18.06.2016
15:55:17
вот я это тоже хочу делать
через что вызывал, cffi?
или ты команды вызывал?

Roman
18.06.2016
15:56:54

H
18.06.2016
15:57:32
да не будет быстрее на питоне

Марк
18.06.2016
15:57:37
Я команды вызывал. Была еще идея воткнуть како-нибудь twisted, но отказался по итогу

H
18.06.2016
15:57:54
не не, команды это сразу нет
я думал дергать сишные функции
т.е. все еще рассматриваю такой вариант

Roman
18.06.2016
15:58:36

H
18.06.2016
15:58:44
или пробовать запустить netsnmp под 3й питон, но не хочется

Roman
18.06.2016
15:58:46
вообщем, вы какую-то дичь предлагаете

H
18.06.2016
15:58:59
потому что синхронный pysnmp слишком медленный

Google

H
18.06.2016
15:59:19
выше я приводил бенчмарки
в 10 раз медленее утилиты

Марк
18.06.2016
15:59:34
Хотя можешь импортнуть из твистед его snmp модуль.

H
18.06.2016
15:59:57
0.2 сек только подготовка к вызову

Admin
ERROR: S client not available

H
18.06.2016
16:00:11

Марк
18.06.2016
16:00:49
Тебе же сетку мониторить, как я понимаю

H
18.06.2016
16:01:00
нет
H H, [18.06.16 18:41]
но сейчас надо другой делать, там по сути OSS для инженеров
H H, [18.06.16 18:42]
они кнопочку нажали в веб форме, сделался запрос на свитч, что-то там сделал

Марк
18.06.2016
16:01:36
А, у нас такое реализовано.

H
18.06.2016
16:01:55
у меня тоже, на втором питоне с netsnmp
все очень хорошо работает

Roman
18.06.2016
16:02:02

H
18.06.2016
16:02:15
потому что одна железка
если ты несколько раз ее опросишь параллельно, она ребутнется

Sergey
18.06.2016
16:02:37
Я тут вспомнил, что к меня коллега писал быструю опрашивалку для ipmi/snmp. Но если первое точно работает, то по втором как-то мало строк на гитхабе, может оно и не доделано. Если ответит - напишу.

Марк
18.06.2016
16:02:52

H
18.06.2016
16:03:07

Roman
18.06.2016
16:03:22

H
18.06.2016
16:03:24

Google

Марк
18.06.2016
16:03:25
Так что за железо то?

H
18.06.2016
16:03:49
это не очередь заданий, это у меня тоже есть, для других вещей
вы предлагаете как с костылями бороться, что не очень правильно
Так что за железо то?
да я же говорю, много моделей, точно пробовал на длинке каком-то сделать cablediag асинхронно на всех портах - ребут

Alexey
18.06.2016
16:05:14
ну вот и не надо напрямую юзеру давать пинать такие вещи.
пусть по графику ставятся таски, выполняются и юзер имеет фидбек

H
18.06.2016
16:05:29
это не юзер, а инженер

Alexey
18.06.2016
16:05:39
а инженер — не юзер? инженер — софт? :)

Марк
18.06.2016
16:05:39

Roman
18.06.2016
16:05:40

H
18.06.2016
16:05:43
который может тоже самое сделать и руками на свитче

Alexey
18.06.2016
16:05:51

H
18.06.2016
16:05:53
но ты же код пишешь не в блокноте

Roman
18.06.2016
16:06:57
я могу легко разом опрашивать хоть 10к устройств