- 博客(15)
- 收藏
- 关注
原创 Python装饰器和__call__函数
__call__在python中,函数其实是一个可调用的对象,实例对象可以用函数的形式表示一个类实例可以变成一个可调用的对象,只需要实现方法__call__() 一、把类Myclass变成可调用的对象: class Myclass(object): def __init__(self, fn): self.name = fn ...
2017-02-14 15:58:51 431
原创 进程共享内存实现原理
质量压测:成熟的网站,各个系统的抗压力情况,摸底网站的pqs的极限小编在做压测期间,使用的是Python语言,走底层的dump数据流,仿真性的用户流量进行压测,在多进程管理方面出现了些问题,下面说说进程间共享内存的问题内存共享实现机制:一、mmap机制:在磁盘上建立一个文件,每个进程存储器中,单独开辟一个空间来映射 保存到实际硬盘,实际并没有反映到主存上 ...
2017-02-13 13:15:35 1059
原创 Python的hasattr() getattr() setattr()方法的详解
小编在做压测过程中,会启动一些守护的子进程,作为主进程的一个属性,在执行完成功能时候,未知是否该守护进程属性是否完全关闭,小编就用了python的hasattr()来判断,然后做del操作,下面就说说这三个属性的用法: 1、hasattr(object, name) 判断对象中是否包含name属性或者方法,返回的是bool类型class ObjectTest(): ...
2017-02-12 11:34:23 143
原创 python shutil模块处理文件
一、简介 使用Python语言处理文件,一般我们会想到执行shell命令,但是执行shell有很多的问题,小编后来发现shutil是个好东西,shutil是高层次的文件操作,类似于高级API,其强大之处在于对文件的复制、备份、压缩包等二、使用 shutil.copyfileobj(src, dst[, length]) 将文件内容拷贝到另一个文件中 ...
2017-02-09 17:28:34 206
原创 python调用shell的方法比较
在Python程序中调用shell命令有4种方法的比较:1、os.system(command) 在一个子终端调用该命令,同步调用,返回的是执行完毕后的退出状态,无法保存返回的command命令的执行结果2、os.popen(command,mode) output = os.popen(command,mode) 获取结果:output.read(),但是无法获取程序...
2017-02-07 16:20:10 175
原创 压测tcpdump和精度控制
为了dump有用的数据,去除一些TCP协议握手的数据包,tcpdump有一些参数可以控制,过滤出push的数据包1、tcpdump数据去除握手的数据包 TCP/IP协议的数据包有一字段TCP flags (URG,ACK,PSH,RST,SYN,FIN),每个字段各占一个字节,其中PSH字段如果为1,则是client发往Server端的数据包,在tcpdump工具中,tcp[1...
2017-02-07 10:29:33 343
原创 压测工具
压测工具:工具说明使用特点ab模拟多个访问者同时对某一URL地址进行访问(nginx,tomcat,lighhttp)模拟多线程并发请求ab -c 100 -n 1000 http://www.baidu.com/做重复压力测试不错,但是每次只能测试一个链接http_loadhttp_load以并行复用的方式运行,用...
2017-02-07 10:26:42 244
原创 redis一路走来
先熟悉些redis指令#查看所有keykeys *#查看匹配前缀嗯keyskeys "test*"#删除当前数据库中的keyflushdb#删除所有数据库中的所有keyflushall#设置key的值,若存在则覆盖set key value#重命名rename oldkey newkey#获取key对应的值get ...
2016-09-29 11:56:36 79
原创 Linux环境变量详解
环境变量一、定义:系统预定义的参数 指定一个目录,运行软件的时候,相关程序就会按照该目录寻找相关文件,如果没有设定环境变量,打出命令的时候会出现”command not found”的提示,因为系统在环境变量中没有搜索到该命令二、Linux环境变量的种类,按照生存周期来划分 1、永久性:需要修改配置文件,变量永久生效 2、临时性:使用exp...
2016-09-18 15:29:47 84
原创 Linu安装下MySQLdb,供Python调用MySQL数据库
说明:1)Linux安装软件常用的五种方式: 1、apt-get install 软件包 2、rpm包安装 3、deb包安装 4、yum安装 5、源码安装,几乎所有的开源软件都支持在Linux平台运行 为了能够适应各种版本的Linux系统,小生喜欢源码安装,万变不离其宗前言:MySQLdb是用于 Python 链接 My...
2016-08-19 16:47:14 76
原创 python安装2.7版本
说明:默认的Linux操作系统上的Python版本在2.6,个别的Python程序无法执行,需要升级Python版本到2.7方法:我们采用源码安装Python2.7步骤:1)先下载Python的tar包到目录/usr/local/src/下面:wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz2)解压tar...
2016-08-19 13:30:34 147
原创 Linux tar
在linux下 用tar -zxf xxx.tar.gz然后就报这个错。gzip: stdin: not in gzip formattar: Child returned status 1tar: Error exit delayed from previous errors原因:这个压缩包没有用gzip格式压缩 所以解压的时候也不用加上z 。直接tar -xf 就可以了...
2016-06-16 15:31:24 80
原创 myql操作集锦
#设置文件的读写权限sudo chmod +w bashrcsudo vi /etc/bashrc#设置MySQL的密码mysqladmin -u root password root#如果设置完成密码后,需要修改,执行命令mysqladmin -u root -p password 最新密码#连接本地数据库mysql -u root -p#创...
2016-05-16 11:49:31 84
原创 svn常用命令解析
1、提交代码 临时切换用户:svn ci --username zhangsan --password zhagnsan123 -m "注释内容" 默认用户:svn ci -m "注释内容"2、永久的切换用户 删除目录~/.subversion/auth/下的所有文件,下次操作svn会提示你输入密码和用户名3、将项目导出到本地目录 s...
2016-05-09 21:16:34 112
原创 js前端radio问题
必须有一步是click事件,网上看到其他的依然会报错,要把其他的checked的属性去除 是 否 $(function(){ $("#btn1").click(function(){ $("input[name='radio']").eq(0).attr("checked","che...
2016-05-09 20:48:54 386
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人