文档章节

测试环境流量回放

lunar_stud
 lunar_stud
发布于 2017/02/13 18:47
字数 391
阅读 163
收藏 1
点赞 0
评论 0

 

 

    最近新申请了一些数据库资源,代码也已经改动完毕,测了几个数据,感觉改动没有什么问题。不过,切换数据源如果只是简单测几条数据,貌似很不严谨的样子

,毕竟线上的流量比较大,说不准就被压垮了呢。所以,还是有必要做一下压力测试。拿线上的流量来做测试是最好的了,一方面可以看改动后的程序和数据库能否支撑目前的请求,另一方面,也可以和当前的性能进行比较。因为时间仓促,没有去调研现有的工具,而是自己写了一个。我的思路是这样的:线上的请求过来都会打日志(完整的日志),一个脚本一直在扫描这个日志,当出现了请求之后,就发往改动好的程序代码,这样就可以模拟两套数据源和代码在同一时刻的响应时间了(可能中间还是会差个几秒,但是可以忽略不计了)。

#coding:utf-8
#!/usr/bin/python
import json
import redis

import subprocess

def getData():
    popen = subprocess.Popen('tail -n 1 -f restlog.log',stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
    while True:
        line = popen.stdout.readline()
        if "request" not in line:  #如果不是请求,直接跳出
            continue
        data = line.split("request body:")
        #下面一段封装具体的请求,因为涉及到公司的一些代码,暂且省略了

 代码运行了三四个小时,做了充分的数据对比,还不错。

© 著作权归作者所有

共有 人打赏支持
lunar_stud
粉丝 3
博文 13
码字总数 4489
作品 0
海淀
程序员
记一次kafka数据丢失问题的排查

数据丢失为大事,针对数据丢失的问题我们排查结果如下。 第一:是否存在数据丢失的问题? 存在,且已重现。 第二:是在什么地方丢失的数据,是否是YDB的问题? 数据丢失是在导入阶段,数据并...

徐学良
02/03
0
0
HTTP/HTTPS, Socks5代理服务器--wyproxy

HTTP/HTTPS, Socks5代理服务器, 并可以将网络请求记录保存到后台数据库. 帮助安全测试人员更加便捷的发现(客户端/APP/网页)中隐藏的接口或资源。 同时支持流量handle回放数据功能,在HTTP He...

匿名
2017/03/12
463
0
真刀真枪压测:基于TCPCopy的仿真压测方案

郑昀 基于刘勤红和石雍志的实践报告 创建于2015/8/13 最后更新于2015/8/19 关键词:压测、TCPCopy、仿真测试、实时拷贝流量 本文档适用人员:技术人员 提纲: 为什么要做仿真测试 TCPCopy是如...

旁观者-郑昀
2015/08/26
0
0
某虚拟化防火墙测试报告及厂家答疑

记录某虚拟防火墙功能测试 记录厂家对测试报告的解释 纯粹技术性测试,不涉及到生产和应用 公网地址已经失效 某厂家虚拟防火测试文档 1.概述 本次使用某厂家深度安全网关VSG-4(以下简称vFW...

羊草
05/21
0
0
Android免费自动测试工具--iTestin

iTestin 是免费为移动应用开发者提供自动化测试的工具。为移动应用开发者提供安全的黑盒测试环境。它所包含的测试服务类型 有功能测试、UI测试、性能测试、稳定性测试、安全测试和竞争测试,...

匿名
2012/08/10
2.3K
0
自动化测试工具--Xnee

Xnee是在X11环境下能够记录、回放、分发用户动作的一套程序,就像机器人一样模仿人们做过的动作。 Xnee可以用于: 自动化测试:例如执行每天晚上的自动回归测试; 程序说明:例如记录和回放用...

匿名
2009/01/17
3.8K
0
28 个必备的 Linux 命令行工具

dstat & sar iostat, vmstat, ifstat and much more in one. slurm 网络流量图形化工具 vim & emacs 这个没人不知道吧~ screen, dtach, tmux, byobu 保持你的终端连接活跃。 multitail 在不同...

虫虫
2011/11/22
25.1K
26
反向代理服务器--chameleon-proxy

chameleon 是一个支持缓存的反向代理服务器,采用 Go 语言编写。chameleon 支持记录和回放请求,并支持定制响应的存储方法。 使用场景: 本地开发时代理速率受限的 APIs 创建可靠的测试环境 ...

红薯
2015/01/16
864
0
【自动化测试技术QTP基础系列六】---QTP脚本录制及回放

QTP有普通、Analog和Low Level3三种录制模式 普通录制模式是最常用的一种录制模式 Analog录制模式,它能精确地记录下鼠标和键盘在被测试对象中的一系列操作过程,包括鼠标的移动和拖拽。最常...

wbf961127
2017/11/12
0
0
华康卫视 摄像头接入 流媒体总结

1.海康卫视摄像头接入 第一个问题,要不要用萤石云;小白,可以自行百度,萤石云; 萤石云,是收费的,一个账号,多个摄像头,测试还行,每次登陆,绑定手机号;需要验证; 而且,从信息安全...

u014624241
05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

回想过往,分析当下,着眼未来

好久没有真正的在纸质笔记本上写过东西了,感觉都快不会写字了,笔画都不知道怎么写了。接下来就说说咱们的正事。 2018年7月22日,我做了一个决定,那就是去参加安全培训(可能是我职业生涯中...

yeahlife
39分钟前
1
0
关于工作中的人际交往

关于工作中的人际交往 Intro 写了篇发泄情绪的博客,但不会发布出来。 大概就是,要么忍,要么滚。 以及一些不那么符合社会主义核心价值观,不满于大资本家与小资本家剥削的废话。

uniqptr
44分钟前
0
0
springMVC的流程

1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(...

JavaSon712
今天
0
0
大数据教程(3.2):Linux系统软件安装之自动化脚本

博主前面文章有介绍过软件的安装,可以帮助IT人员顺利的完成功能软件安装;但是,对于我们运维人员或者需要管理软件安装的项目经理来说,有些应用一次行需要搭建很多台相同的软件环境(如tom...

em_aaron
今天
0
1
Spring Boot 2.0.3 JDBC整合Oracle 12

整合步骤 1. Oracle驱动引入 Oracle驱动一般不能通过maven仓库直接下载得到,需自行下载并导入到项目的lib目录下,建议通过如下pom依赖引入下载的Oracle驱动 <!-- Oracle 驱动 -->...

OSC_fly
今天
0
0
java 8 并行流 - 1

下面创建一个并行流,与顺序流 //顺序流Stream.iterate(0L, i -> i + 1) .limit(Integer.MAX_VALUE) .reduce(0L, Long::sum);//并行流Stream.iterate(0L, i -> i......

Canaan_
今天
0
0
数据结构与算法5

二分法采用向下取整的方法 使用有序数组的好处是查找的速度比无序数组快的多,不好的方面是因为要将所有靠后的数据移开,所以速度较慢,有序数组和无序数组的删除操作都很慢。 有序数组在查找...

沉迷于编程的小菜菜
昨天
1
1
SpringBoot | 第十一章:Redis的集成和简单使用

前言 上几节讲了利用Mybatis-Plus这个第三方的ORM框架进行数据库访问,在实际工作中,在存储一些非结构化或者缓存一些临时数据及热点数据时,一般上都会用上mongodb和redis进行这方面的需求。...

oKong
昨天
5
0
对基于深度神经网络的Auto Encoder用于异常检测的一些思考

一、前言 现实中,大部分数据都是无标签的,人和动物多数情况下都是通过无监督学习获取概念,故而无监督学习拥有广阔的业务场景。举几个场景:网络流量是正常流量还是攻击流量、视频中的人的...

冷血狂魔
昨天
0
0
并发设计之A系统调用B系统

A-->B A在发送请求之前,用乐观锁,减少对B的重复调用,这样一定程度上是幂等性。 比如A系统支付功能,要调用B系统进行支付操作,但是前端对"支付"按钮不进行控制,即用户会不断多次点击支付...

汉斯-冯-拉特
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部