位置: 编程技术 - 正文

详解python并发获取snmp信息及性能测试(python3并发)

编辑:rootadmin

推荐整理分享详解python并发获取snmp信息及性能测试(python3并发),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python并发请求接口,python并发请求接口,python并发执行函数,python并发请求接口,python并发执行函数,python并发执行函数,python的并发,python并发请求接口,内容如对您有帮助,希望把文章链接给更多的朋友!

python & snmp

用python获取snmp信息有多个现成的库可以使用,其中比较常用的是netsnmp和pysnmp两个库。网上有较多的关于两个库的例子。

本文重点在于如何并发的获取snmp的数据,即同时获取多台机器的snmp信息。

netsnmp

先说netsnmp。python的netsnmp,其实是来自于net-snmp包。

python通过一个c文件调用net-snmp的接口获取数据。

因此,在并发获取多台机器的时候,不能够使用协程获取。因为使用协程,在get数据的时候,协程会一直等待net-snmp接口返回数据,而不会像socket使用时那样在等待数据时把CPU切换给其他协程使用。从这点上来说,使用协程和串行获取没有区别。

那么如何解决并发获取的问题呢?可以使用线程,多线程获取(当然也可以使用多进程)。多个线程同时调用net-snmp的接口获取数据,然后cpu在多个线程之间不停切换。当一个线程获取一个结果后,可以继续调用接口获取下一个snmp数据。

这里我写了一个样例程序。首先把所有的host和oid做成任务放到队列里,然后启动多个线程,去执行获取任务。程序样例如下:

netsnmp除了支持get操作之外,还支持walk操作,即遍历某个oid。

详解python并发获取snmp信息及性能测试(python3并发)

但是walk使用的时候需要谨慎,以免导致高延时等问题,具体可以参见之前的一篇snmpwalk高延时问题分析的博客。

pysnmp

pysnmp是用python实现的一套snmp协议的库。其自身提供了对于异步的支持。

pysnmp本身只支持最基础的get和getnext命令,因此如果想使用walk,需要自己进行实现。

性能测试

在同一个环境下,对两者进行了性能测试。两者对个host,个oid进行采集。

测试组 耗时(sec) netsnmp(线程) 6. netsnmp(线程) 3. netsnmp(线程) 3. pysnmp 4.

可以看到netsnmp的采集速度跟线程数有关。当线程数增大到一定程度,采集时间不再缩短。因为开辟线程同样会消耗时间。而已有的线程已经足够处理。

pysnmp性能较之略差一下。详细分析pysnmp在添加任务(执行getCmd时)消耗了约1.2s,之后的采集约消耗3.3秒。

在增加了oid数,在进行实验。host仍然是个,oid是个。

测试组 耗时(sec) netsnmp(线程) . netsnmp(线程) . netsnmp(线程) 4. pysnmp .

可以看到差距被进一步拉大。在线程足够多的情况下,netsnmp的效率要明显强于pysnmp。

因为二者都支持可以并行采集多个host,从易用性来说,netsnmp更为简单一些,且netsnmp支持walk功能。本文更加推荐netsnmp。

安装netsnmp需要安装net-snmp。如果centos,则使用yum会较为方便。

标签: python3并发

本文链接地址:https://www.jiuchutong.com/biancheng/377145.html 转载请保留说明!

上一篇:使用Python写CUDA程序的方法(python调用cuda执行加法)

下一篇:Python使用PDFMiner解析PDF代码实例(python pdf操作)

  • 工程设备一览表
  • 小规模企业所得税2023年税收政策
  • 递延所得税资产和负债怎么理解
  • 品种法,分批法,分步法是什么
  • 公司的股东就是公司的发起人
  • 可供出售金融资产和长期股权投资
  • 年报和汇算清缴报表数字不一致
  • 财务怎么算社保缴费
  • 现金盘亏无法查明原因计入什么科目
  • 个人购买商铺如何缴税
  • 增值税专票经办人怎么填
  • 专用凭证和通用凭证的联系和区别
  • 取暖补贴国家标准
  • 施工企业暂估成本税前扣除
  • 税务自查补缴税款算滞纳金么
  • 工程服务预交税款怎么账务处理?
  • 找贴现公司贴现有风险吗
  • 影院分成为什么那么高
  • 年终结账后,应当更换新账的有( )
  • 属于制造费用的有
  • 废旧物资增值税税收优惠政策
  • 自行承担税费是什么意思
  • 个体工商户税收优惠政策2023年最新
  • 未按规定订立无固定期限劳动合同
  • 小规模劳务公司税率是多少
  • 完税证明已开回怎么处理
  • 出售固定资产属于收入
  • 什么经营范围可以开培训费
  • 收到银行存款利息记账凭证怎么写
  • 经营费用包括哪些科目明细
  • 期末增值税进项税大于销项税的金额计入哪里
  • 房地产开发商负责什么
  • 部分苹果iOS17功能延后推出
  • PHP:session_destroy()的用法_Session函数
  • win10记事本怎么改字体颜色
  • 结转本月发生的费用
  • 单位公车是什么意思
  • 代驾服务费如何计算
  • vue3 vue.config.js配置Element-plus组件和Icon图标实现按需自动引入
  • 海康威视网页插件下载
  • 水煮鱼的做法和步骤 家常
  • 企业会计日记账保管期限为()年。A5B10C30D35
  • 记账凭证摘要是什么意思
  • 工程施工和工程结算科目
  • 会计核算方法体系构成
  • 【创作赢红包】ChatGPT引爆全网引发的AI算力思考
  • php fgetcsv
  • vue全局组件和局部组件
  • aes加解密工具
  • 固定资产减值损失属于营业外支出吗
  • 报关代理费计入什么科目
  • 公司注册登记需要提交的资料包括
  • 非独立核算与独立核算
  • 大巴车怎么坐车
  • 公司贷款谁签字
  • 建筑工程人工费包括哪些内容
  • 合伙企业年底如何做账
  • 第二季度所得税表中研发费用
  • 进口海关是国内还是国外
  • 超市购销和联营哪个好
  • 前期物业管理阶段的工作有哪些
  • 用材料抵扣货款通知怎样写
  • 样品 报关
  • 写字楼物业费按照什么面积
  • 股东借款可以直接转为实缴出资吗
  • mysql 元组
  • xp系统注册表空白怎么办
  • linux如何操作数据库
  • linux的链接文件
  • Linux基础与应用开发指南pdf百度云
  • linux 源文件
  • windows10预览
  • unity数学函数
  • windows下载安装
  • 基于web的旅游网站毕业设计
  • 对税务稽查工作的意见和建议
  • 煤炭资源税税率调整
  • 山东2022年退休亏大了
  • 福建 退休
  • 中国经济行业排名
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设