python网络库_python的网络库

最近新功能上线,帮忙加了几个监控脚本。上次用的perl,语法太随意了,看起来很是不整洁,自己写的都觉得不好,更不要说给别人看。好久没用python了,反正这次准备使用新的监控设计方案,刚好换一下。

用perl写的是第一次做监控脚本,什么都不知道,看着别人的逻辑来写。觉得不是很好,一个脚本只监控一个功能,太多的重复工作和体力劳动,布置、统计也不方便。这次把它们都集中到一起,并抽象出黑箱监控的一些参数,一套东东搞定。其实逻辑很简单,就像下图所示。

2010120720494739.jpg

麻烦的地方在于,以前是用socket做通信,这次为了方便,直接用python的库去做request。前后用了urllib2,httplib,httplib2。

urllib2在我的机器上建立连接用了1秒钟,要知道我用浏览器去访问总时间也不过几百ms(包括加载图片、CSS、JS等)。监控用的那台机python还是2.4,没有超时设置接口,用了一个计时器在超时的时候做close并在代码里捕获异常。最后还是因为太慢,转用httplib。

httplib建立一个就很快了,不过做request和read还是慢,要比浏览器慢上200到300ms。一样没有超时设置,发现httplib的read在开始的时候如果发现文件被关闭的话会返回长度为0的字符串,这个不是我所要的。自己去修改它的代码,加上了超时设置并在read的时候加上了异常。基本可以用,不过还是觉得在read的时候比较慢,估计是一些内存拷贝的算法太差。

实在受不了这种慢动作。用perl写的一个脚本实现同样功能要比这个快得多,后来找到一个httplib2,感觉对HTTP的支持要完善得多,另外也可以做超时设置(但似乎在read开始后就无效?)。

我的机器环境比较慢一点,三个库做同一个request所用的时间大概是:

urllib2 1.2s

httplib 800ms

httplib2 400ms

总结:

1)虽然python 2.4相同逻辑比perl慢,但因为代码风格比较好控制,后续还是尽量考虑使用python

2)不同的库实现不同,用python的时候注意在比较慢的情况下考虑使用其他库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527509.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

求一批整数中出现最多的个位数字_(43)C++面试之从1到n整数中1出现的次数

// 面试题43:从1到n整数中1出现的次数// 题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如// 输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。#incl…

j2me安装_Java第一步 JDK安装

安装JDK之前需要了解Windows下DOS命令winr 输入cmddir: 列出当前目录下的文件以及文件夹md:创建目录[文件夹]rd: 删除目录cd: 进入指定目录cd..:从当前目录退回到上一级目录cd:从当前目录退回到根目录&…

sql left join用法_图解 SQL 中 JOIN 的各种用法

点击上方“Java知音”,选择“置顶公众号”技术文章第一时间送达!作者:CodingStarcnblogs.com/BoyceYang/p/3145279.html一、概要JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很…

超级计算机清华,从清华到华科 名校为何主办超级计算机大赛?

古罗马政治家、哲学家塞涅卡曾经说过:“自然赐给了我们知识的种子,而不是知识的本身。”在超级计算机领域,ASC世界大学生超级计算机竞赛正是这样一颗“种子”,北京、上海、广州、太原、武汉……ASC竞赛正在将超算的知识播撒到全球…

计算机一级查询记录,技巧查看电脑中使用过的记录痕迹的详细教程

XP的系统是很多的用户还在操作的一款系统,其实现在更新以后最新的系统也是很好的使用的,开机的时候很多的用户对于不同的设置开机的时间还有如果你的电脑被别人的看到了的话是怎么实现查看的呢,今天小编就来跟大家分享一下技巧查看电脑中使用…

foreach判断最后一个_ArrayList集合为什么不能使用foreach增删改?

点击上方“Java技术前线”,选择“置顶或者星标”与你一起成长译者:奋斗的小程序员链接:http://suo.im/4XaI8Q编程过程中常常需要使用到集合,而ArrayList也是我们常常使用的,但是最近在一次删除和增加中出现了一些问题&…

计算机文本处理竞赛题目,文字处理竞赛题目(word2010).pdf

文字处理竞赛题目(word2010).pdf (5页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!11.90 积分文字录入与排版高手竞赛 大 学 计 算 机 基 础 教 研 室 2 0 1 5 / 1 1 / 1 滁州学院 滁州学院《大学计…

头部外伤指什么_什么是颅骨缺损?

什么是颅骨缺损?颅骨缺损颅骨缺损(defect of skull)是指因开放性颅脑损伤造成的颅骨残缺,导致脑部与外界直接相通。颅脑创伤是造成颅骨缺损的主要原因。颅骨缺损综合征是该病的主要症状,常表现为头痛、头晕、缺损处不适、缺损边缘疼痛及感觉过…

java+什么时候才需要deploy_细思极恐 - 什么才是真正的会写 Java ?

文章核心其实,本不想把标题写的那么恐怖,只是发现很多人干了几年java以后,都自认为是一个不错的java程序员了,可以拿着上万的工资都处宣扬自己了,写这篇文章的目的并不是嘲讽和我一样做java的同行们,只是希…

csgo自建服务器打人机,csgo如何跟好友打人机 | 手游网游页游攻略大全

发布时间:2017-02-14CSGO即将在4月18日开启国服先锋测试,如何在CSGO中添加好友呢?下面为大家分享一下CSGO国服加好友方法,一起来看看吧. CSGO国服怎么加好友: 1.打完官匹想加队友好友只需要打开游戏界面正上方观战-我的比赛. ...标签:攻略秘籍 乐游知道…

java8新特性_Java8新特性_lambda表达式

lambda介绍λ ,希腊字母表中排序第十一位的字母,英语名称为Lambda。lambda 表达式,也可称为闭包,它是推动Java 8 发布的最重要新特性,允许把函数作为一个方法的参数(函数作为参数传递进方法中)。…

ajax实现局部删除,Express+AdminLTE+hbs+Ajax实现局部刷新终极版(第二部分)

上一篇中已经把所有思路都理顺了,这边我们就开始具体编码吧。(如果您有更好的办法,欢迎留言讨论!互相学习!)我们先来看一下最终完成的效果:一:完整项目目录结构如图所示:二:更换模板…

打乱 数字_崔召幼儿园中班悦享时光——亲子益智游戏数字配对

亲爱的小朋友们,我们已经掌握了简单的,数字宝宝,今天让我们通过已有的数字经验和点数经验来玩一个数字配对的游戏吧!准备:1.准备骰子一个,吸管一支,数字1-6卡片。 2.一个鞋盒盖,一个…

云服务器BBC销售渠道,云服务器BBC控制台

云服务器BBC控制台 内容精选换一换云服务器备份提供了Web化的服务管理平台,即管理控制台和基于HTTPS请求的API(Application programming interface)管理方式。API方式如果用户需要将云服务平台上的服务器备份集成到第三方系统,用于二次开发,请…

安全策略_Spring Security 实战干货:如何实现不同的接口不同的安全策略

1. 前言欢迎阅读 Spring Security 实战干货 系列文章 。最近有开发小伙伴提了一个有趣的问题。他正在做一个项目,涉及两种风格,一种是给小程序出接口,安全上使用无状态的JWT Token;另一种是管理后台使用的是Freemarker&#xff0c…

python外星人入侵怎么发给别人_python_外星人入侵(1-1)

sys:system的简称。包含了一些与系统有关的函数。 step1:构建游戏的主框架 import sys import pygame def run_game(): 初始化游戏并创建一个屏幕对象 pygame.init() # 创建一个显示窗口,宽1200像素,高800像素 screen pygame.dis…

delphi listview 添加数据 慢_Delphi 二十四岁, Delphi 10.3.1 发布

Delphi1 是 Borland于1995年2月14日发布,因此2019年2月14日是该产品发布的24周年纪念日。如果你想了解一些关于该产品及其发布的历史,你可以参考文章“22 Years of Delphi and it Still Rocks”。在那篇文章中,我收集了一些早期产品的照片&am…

找规律万能公式_有一个万能公式,可以帮你解决任何烦恼!

有一个万能公式,可以帮你解决任何烦恼。我是在十几年前学到的,一直使用到现在。不仅简单,而且非常有效,只有3步,马上就能现学现用。如果你目前正好碰到了什么难题,不妨试试这个万能公式。01第一步&#xff…

vue 判断两对象是否一致_你的.vue文件就已经是你的文档了

更新:文档地址:http://vuese.org昨天发布了vuese1.0,这是我的一个新的开源项目,用来解析Vue SFC并生成markdown文档,如下:HcySunYang/vuese​github.com这篇文章不会介绍如何使用,至于如何使用大…

centos7 oracle_Centos7主机名变成bogon的原因及解决方法

问题描述虚拟机在设置完静态IP后,莫名其妙地主机名就变成了bogon,并且问题会稳定复现,就是说每次重启都会。如下图所示:看着不顺眼不说,听说可能还会影响某些服务,如可能导致oracle安装过程网络配置出错等问…