使用python库pycurl来检测web服务质量
pycurl是一个用C语言写的libcurl Python实现,速度很快,比urllib和httplib都快功能非常强大,支持的操作协议有FTP、HTTP、HTTPS、TELNET等,可以理解成Linux下curl命令功能的Python封装,简单易用.在最近参与的自动化运维平台上使用它检测web应用节点的性能参数,利用libcurl包提供的这些常量值来达到探测Web服务质量的目的.
itertools是python中内置的一种高效的生成各种迭代器或者是类的模块,这些函数的返回值为一个迭代器,经常被用在for循环中,当然,也可直接使用next()方法取值,今天就来说说itertools中的常用方法.
MVCC(Multiversion Concurrency Control,多版本并发控制)是数据库为了提高并发的一种机制,现已普遍运用于各大数据库系统中,如Oracle,MS SQL Server 2005+, Postgresql, Firebird, Maria等等,开源数据库MYSQL中流行的INNODB引擎也采用了类似的并发控制技术.本文就来说说INNODB的MVCC实现原理.
redo跟undo是很多数据库都支持的特性,不同的数据库redo跟undo可能有点细节上的不同,整个方向几乎都起着同样的效果.
undo: 撤销,也就是取消之前的操作.
redo: 重做,重新执行一遍之前的操作.
今天因为项目中遇到了拷贝,调试结果突然跟自己之前对拷贝相关的认知有点出路,还真跟自己想的有点不一样,看来错了很久,赶紧补下课,记录一下.
今天在测试服务器上压测时发现并发数不在正常范围,使用netstat查看tcp连接存在很多连接的状态为time_wait状态,比established多很多,这是个不正常的现象,time_wait是什么鬼?
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
上一篇介绍了iptables是如何工作,现在记录下iptables一些实用的命令
我们说linux系统下的大都指的是iptables,但事实是iptables只是一个用户层命令行工具,真正实现防火墙功能的是内核层的netfilter,我们可以不必区分这两者的区别,大多数情况下我们只对iptables进行操作,由iptables操作netfilter.
代码调试结果再一次被自己已有的认知打败,恶补基础,今天扯一扯python的闭包及装饰器.
在使用pyinstaller库的过程中遇到几个问题,看了下源码,发现造成这几个问题的原因类似,感觉挺有意思,之前说过,pyinstaller其实就是分析python文件中的import 语句,然后打包成pyd或都是dll等库文件,但是对于一些python中使用动态导入或者是使用指定路径等形式,或者换句话说就是:在运行中才能确定导入了哪些库或者是使用了哪些dll,这种情况下pyinstaller是无法自动辨别的,下面遇到的三个问题都是由于动态导入的问题,这个时候就需要使用pyinstaller更高级的用法了.