
Dead
18.06.2016
16:08:00
Ребят, тут кто-то может поучить серверной части в лс? Мало ли.

H
18.06.2016
16:08:07
окей, а причем тут это?
это я роману
я тоже опрашиваю много устройств разом

Google

Марк
18.06.2016
16:09:08
Ты на вопрос ответь)

H
18.06.2016
16:09:26
я уже нить разговора потерял
так как он превратился в придумывание костылей
тема с топологией не актуальна, все в продакшене уже давно, а вопрос был в том, какие есть библиотеки на третьем питоне чтобы была такая же скорость как у netsnmp
без оверхедов на создание миллиона ООП объектов

Марк
18.06.2016
16:11:42
У нас были умельцы, которые умудрялись делать каблдиаг на оптических портах
А так, имхо, вся твоя затея с масштабным каблдиагом выглядит костыльно.

H
18.06.2016
16:12:38
не, я так в самом начале делал, да
удивлялся, почему отваливался
это 100мб порты, пользователей
транзиты не участвуют
а ты - костыльно :(

Google

H
18.06.2016
16:14:22
всмысле макакичью работу
типа определить везде ли влан на маршруте прописан или ошибки какие-то посмотреть

Марк
18.06.2016
16:15:08

H
18.06.2016
16:15:30
а у нас монтажник сам может сделать
и не надо никому звонить

Марк
18.06.2016
16:15:44
Я об абоне

Roman
18.06.2016
16:16:13
окей, а причем тут это?
Ты рассказываешь про какие-то сложности с pysnmp, хотя это либа на чистом питоне и она легко становится асинхронной. Дальше только ограничения по cpu/ram

H
18.06.2016
16:16:15
ну ок, пока васечка на телефоне, оператор посмотрит сразу же
по времени
один вызов одного оида
потом рассказывай про ограничения
под капот загляни pysnmp, сколько он говна делает
сука, да там на си меньше кода
вот профайлер я кидал даже

Марк
18.06.2016
16:18:50

H
18.06.2016
16:19:01
какую-то таблицу парсит 25% времени
нафига мне это

Google

H
18.06.2016
16:22:03
time snmpget -v 2c -c public demo.snmplabs.com 1.3.6.1.2.1.1.1.0
iso.3.6.1.2.1.1.1.0 = STRING: "SunOS zeus.snmplabs.com 4.1.3_U1 1 sun4m"
real 0m0.025s
0.025c пожалуйста
я не спорю, может быть не разобрался в pysnmp, но это их пример работы с библиотекой

Марк
18.06.2016
16:23:13
Если тебе нужна скорость, отдельно закомпилить snmpget на сях, а потом его вызывать.

H
18.06.2016
16:23:51
я хочу такую же скорость как сейчас с python2 и netsnmp

Roman
18.06.2016
16:24:31

H
18.06.2016
16:25:24
а как тебе pypy поможет для одного запроса?

Alexey
18.06.2016
16:25:47
А ты проверь.

H
18.06.2016
16:25:48
что ты там собрался на разных ядрах вызывать?
самое веселое то, что я проверял, pypy не работает в netsnmp, сегфолт
In [13]: time sess.get(netsnmp.VarList(netsnmp.Varbind(".1.3.6.1.2.1.1.1.0")))
CPU times: user 0 ns, sys: 0 ns, total: 0 ns
Wall time: 20 ms
Out[13]: ('SunOS zeus.snmplabs.com 4.1.3_U1 1 sun4m',)
вот сейчас так

nn008783
18.06.2016
16:31:22
Добрейший вечерочек.

Марк
18.06.2016
16:32:30

Maksim
18.06.2016
16:32:40
только начал изучать Луца. но блин все закрепляется на задачах - где бы задачки взять?:)

Sharkus
18.06.2016
16:33:50
adventofcode.com
projecteuler.net

Dmitry
18.06.2016
16:37:01
только начал изучать Луца. но блин все закрепляется на задачах - где бы задачки взять?:)
попробуй в своей жизни найти то. что можно автоматизировать. Например если офисная работа - там много рутинных задач, для которых легко набросать на скорую руку скрипты на питоне.
Или, если учишься в универе - тоже какие-то вещи можно себе скриптами автоматизировать. Если ничего в голову не идет - можешь описать чем занимаешься, может подкинем идей.
Имхо, в плане мотивации к обучению - самый лучший способ. Мне вот просто в стол решать какие-то внешние к моим целям задачки - тяжелее, т.к. нет мотивации.
а вот когда видишь как что-то, чему ты научился - тебе реально экономит хотя бы по несколько минут на рутинных операциях (например ручной копипаст собираемой инфы в экселевскую табличку) - то тут мотивация сразу ого-го и опыт практический.

Maksim
18.06.2016
16:42:11
благодарствую за ссылки и идеи!

Google

H
18.06.2016
16:42:20
там может быть сложновато будет, но быстрее разберешься на реальных задачах

Maksim
18.06.2016
16:45:41

Sergey
18.06.2016
16:46:08
Главное не перестараться

Admin
ERROR: S client not available

Roman
18.06.2016
16:46:51
181 ms

H
18.06.2016
16:47:38
ну показывай, давай я у себя проверю
только у меня выполняется за 20мс, ну да ладно

Roman
18.06.2016
16:49:26

H
18.06.2016
16:49:54
я понимаю, закинешь куда-нить код проверить?

Roman
18.06.2016
16:51:33

H
18.06.2016
16:52:03
ну вот у меня он работает в 10 раз медленее

Roman
18.06.2016
16:55:24

H
18.06.2016
16:55:56
да
там очень долго создается ContextData()
она занимает как раз 200мс

Roman
18.06.2016
16:56:59
Я почти не пользуюсь cpython

H
18.06.2016
16:58:02
я вот не хочу этот код выполнять каждый раз

Google

H
18.06.2016
16:58:07
if version_info[0] <= 2:
int2oct = chr
ints2octs = lambda s: ''.join([ int2oct(x) for x in s ])
null = ''
oct2int = ord
octs2ints = lambda s: [ oct2int(x) for x in s ]
str2octs = lambda x: x
octs2str = lambda x: x
isOctetsType = lambda s: isinstance(s, str)
isStringType = lambda s: isinstance(s, (str, unicode))
else:
ints2octs = bytes
int2oct = lambda x: ints2octs((x,))
null = ints2octs()
oct2int = lambda x: x
octs2ints = lambda s: [ x for x in s ]
str2octs = lambda x: x.encode()
octs2str = lambda x: x.decode()
isOctetsType = lambda s: isinstance(s, bytes)
isStringType = lambda s: isinstance(s, str)
вот это pysnmp внутренности
я не буду бэкенд часть для веб проекта писать на ситоне, лол
для этого есть другие языки

Sergey
18.06.2016
17:01:35
В исходники pysnmp страшно смотреть, это правда

H
18.06.2016
17:02:46
зато пюре питон!
чем плохо дергать сишные хайлевельные функции-то?
там хотя бы в snmpbulkwalk оид честно проверяется не строкой и не выдает чепухи, как во всех библиотеках

Sergey
18.06.2016
17:04:31
В pypy работать не будет, а так - хз

H
18.06.2016
17:05:17
да пупу тут вообще ни при чем, я хз почему его сюда привлекли

Sergey
18.06.2016
17:05:34
Может автор не умеет C

H
18.06.2016
17:05:34
роман наверное хелоу ворлд пишет на ситоне и вызывает через пупу

Sergey
18.06.2016
17:06:47
Разве cython и pypy не взаимоисключающие вещи?

Roman
18.06.2016
17:09:51

H
18.06.2016
17:18:09

Anton
18.06.2016
17:20:13
http://docs.cython.org/src/userguide/pypy.html