python脚本 数据库压力测试_python-网站压力测试脚本
#coding:utf8
#!/usr/bin/env python
import threading
import httplib
import random
import time
import os
import sys
import urllib2
from Queue import Queue
#http://192.168.1.254:9090/2013/10/10/p_131010210525-moveWorldMap/9711-40380.zip
'''
class :RequestThread 请求URL
func :request_url(self) 创建各个线程任务
'''
class RequestThread(threading.Thread):
def __init__(self,thread_name):
threading.Thread.__init__(self)
self.error_num = 0
self.url_num = 0
self.thread_name = thread_name
def run(self):
print("%s---time is %s "%(threading.currentThread(),time.ctime(),))
time.sleep(10)
self.request_url()
#单个线程的任务
def request_url(self):
try:
file = open('urls.txt','r')
for line in file.readlines():
self.url_num +=1
url = line.strip()
html = urllib2.urlopen(url).read()
except urllib2.URLError,e:
print e
self.error_num +=1
'''
func: start_thread(thread_num) 生成多个处理线程
int thread_num :传入并发的线程个数
return:
time_total 多个并发进程完成一次循环所用时间
error_num 请求失败的页面数
url_num 请求的url数
'''
def start_thread(thread_num):
time_start = time.time()
threads = []
for i in range(thread_num):
thread = RequestThread('thread'+str(i))
thread.setDaemon(True)
threads.append(thread)
for t in threads:
t.start()
for t in threads:
t.join()
time_end = time.time()
time_total = time_end - time_start
print "每个循环耗时%s秒"%(time_total)
#获取类属性
error_num = thread.error_num
url_num = thread.url_num
return time_total,error_num,url_num
'''
func: work(work_num) 每个线程做同一个任务循环的次数
int work_num: 任务循环次数
int thread_num:需要并发的进程数
'''
def work(work_num,thread_num):
time_all = 0
i=0
while i < work_num:
i +=1
time_total,error_num,url_num = start_thread(thread_num)
# print time_total
time.sleep(2)
time_all = time_all + time_total
print "第 %s 次循环结束"%(i)
print "*****************************************************"
print "总共运行耗时:%f秒"%(time_all)
print "错误数:%s"%(error_num)
print "总计请求了%s个页面"%(work_num*thread_num*url_num)
if __name__ == "__main__":
#thread_num,创建并发线程的数量
thread_num = 10
work_num = 2
# start_thread(thread_num)
work(work_num,thread_num)
python脚本 数据库压力测试_python-网站压力测试脚本相关推荐
- python网站后台_Python 网站后台扫描脚本
Python 网站后台扫描脚本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ...
- 电脑网页压力测试软件,网站压力测试工具
网站压力测试软件可以测试不同上网方式.不同地区.访问Web不同页面.在不同并发访问密度情况下的客户端响应时间.流量和流速,实现极高的服务器测试,数据精准.网站压力测试软件适用于所有windows平台, ...
- 网站 压力 测试软件,网站压力测试软件
这是网站压力测试软件下载,网站压力测试软件可以测试不同上网方式.不同地区.访问Web不同页面.在不同并发访问密度情况下的客户端响应时间.流量和流速,实现极高的服务器测试,数据精准.网站压力测试软件适用 ...
- python查询数据库后更新_python 实现数据库中数据添加、查询与更新的示例代码...
一.前言 最近做web网站的测试,遇到很多需要批量造数据的功能:比如某个页面展示数据条数需要达到10000条进行测试,此时手动构造数据肯定是不可能的,此时只能通过python脚本进行自动构造数据:本次 ...
- python访问数据库统一方法_Python 3.x 连接数据库(pymysql 方式)
参考:http://www.cnblogs.com/woider/p/5926744.html ==================pymysql=================== 1.PyMyS ...
- python连数据库课程设计_python 连接操作 各类数据库
摘要: 用Python写脚本也有一段时间了,经常操作数据库(MySQL),现在就整理下对各类数据库的操作,如后面有新的参数会补进来,慢慢完善. 一,python 操作 MySQL:详情见:这里 mac ...
- python能制作游戏吗_python怎么制作游戏脚本
本文将以4399小游戏<宠物连连看经典版2>作为测试案例,通过识别小图标,模拟鼠标点击,快速完成配对完成游戏脚本. 浏览器打开游戏窗口(单个一个窗口),游戏主要界面截图需要两个坐标(左上角 ...
- python mysql数据库长连接_python 连接mysql数据库
python34之殇--DJango连接Mysql数据库 系统环境: 64位 windows 7 + python34 + Django 1.8 问题描述: 因为MySQLdb不兼容python3.x ...
- abaqus的python安装文件在哪_python、abaqus执行脚本路径
python中获取执行脚本路径方法 1.sys.path[0]:获取执行脚本目录绝对路径 #每次执行脚本时,python会将执行脚本目录加入PYTHONPATH环境变量中(sys.path获取) #! ...
- python快递分拣小程序_python英语单词测试小程序代码实例
这篇文章主要简介了python英语单词测试小程序代码实例,文中通过示例代码简介的非常具体,对大家的学习或者工作具有一定的参考学习网上卖,需要的朋友可以学习下 爬取了扇贝英语网,并制作了一个英语单词测试 ...
最新文章
- 戴上脑机接口头盔,他用大脑跟别人「说话」
- 文巾解题 1446. 连续字符
- 线程中start()与run()的区别
- mysql主主复制某张表_MySQL主主复制实战
- 【Python基础】在pandas中使用pipe()提升代码可读性
- python自动发送微信-Python自动定时发送微信消息
- 学习vim的正确姿势!
- redis-py说明文件(转)
- vue和小程序哪个好学一点_litemall,Spring Boot后端,微信小程序用户前端 + Vue用户移动端...
- 摩拜单车又涨价了!真的要骑不起了
- 建站+流量+运营,跨境电商的2021
- BERT模型—3.BERT模型在ner任务上的微调
- 【数学建模】评价类算法
- 7. 稀疏表示之OMP,SOMP算法及openCV实现
- 小米5月10日发布会--miui8
- design pattern scard
- 使用Photoshop辅助线制作ps切片教程
- 电脑只有一个c盘怎么办?看我怎么一招解决!
- 实验室设备测量超低偏置电流的实用技巧
- 问题解决:openCV处理视频、手机拍摄视频自旋转(90度)
热门文章
- libsvm java api文档,libsvm-javaAPI
- 前端如何查看音频的长度_重学前端基础:如何查看文档对象的所有属性?如何文档查找节点?...
- 【坑爹升级】更新NVIDIA GeForce GTX Ti最新驱动,突然屏幕亮瞎我24K钛合金双眼。导致Fn+F2/F3、win+x无法控制笔记本电脑显示器亮度调整, 电源选项屏幕亮度也不见了!
- 对ARM异常(Exceptions)的理解
- COCO KeyPoints关键点数据集准备
- 洛谷P4480 【[BJWC2018]餐巾计划问题】
- 什么是ObjCTypes?
- JS如何判断json是否为空
- Hadoop概念学习系列之为什么hadoop/spark执行作业时,输出路径必须要不存在?(三十九)...
- CSS中各种各样居中方法的总结