测试
文章平均质量分 51
micromicrofat
Python | Go | Deep Learning
展开
-
使用ab进行并发压测SSL read failed (5) - closing connection错误
最近在进行并发压测,在c参数特别大的时候,测试过程中出现SSL read failed (5) - closing connection错误,研究好久没有找到瓶颈,但在换了一台测试服务器后,这个问题没有出现,所以基本可以确定是测试服务器产生的瓶颈。与之前遇到的socket: Too many open files (24)错误一样,在服务端找不到瓶颈时,可以考虑一下是不是客户端的问题。...原创 2021-06-17 11:11:09 · 3810 阅读 · 1 评论 -
记一次CentOS+Docker+Nginx+uWSGI+MongoDB的单机并发量提升过程
最近在做小程序后端开发,使用Docker+Nginx+uWSGI+MongoDB的架构最终部署图如下:最开始在对新增订单的接口进行压测时出现100并发就有大量失败的情况,日志显示"WriteConflict error: this operation conflicted with another operation.",分析后得出找出原因:新增订单压测时是对单一用户进行,即单一用户新增100个订单,而每个新增订单的业务逻辑需要在事务中读写该用户的单个document,从而导致大量请求获取该docu原创 2021-06-09 15:04:20 · 984 阅读 · 0 评论 -
使用ab进行并发压测socket: Too many open files (24)错误
使用ab进行并发压测时100、200并发量都没问题,300以上就报错This is ApacheBench, Version 2.3 <$Revision: 1879490 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking xxxx.原创 2021-06-03 10:18:38 · 1974 阅读 · 0 评论 -
关于github在vscode上的认证以及密钥缓存机制
今天在向GitHub仓库提交代码的时候收到了这封邮件,说是使用密码的认证将要被舍弃了,提醒我换成两步验证(2FA),切换成两步验证很顺利,突然很好奇GitHub密码在Mac上是怎么保存的vscode的设置里有两个选项,如下图保存密码的地方如下图:场景一:开启GitHub 2FA☑️Git: Terminal Authentication提示输入账号密码,认证失败场景二:开启GitHub 2FA☑️Github: Git Authentication提示输入账号密码,认证.原创 2020-12-28 17:27:07 · 2222 阅读 · 1 评论 -
Python使用管道、队列、zeromq进行IPC速度对比测试
管道:import sysfrom multiprocessing import Process, Pipeimport timeimport resultmsg_list = []for i in range(100): msg_list.append(result.Test_data)def worker(receiver): for _ in range(1000000): receiver.recv() sys.exit(1)原创 2020-12-02 16:24:32 · 1245 阅读 · 1 评论 -
Python性能监控工具py-spy、memory-profile使用
py-spy安装>>> pip3 install py-spy功能record: 记录程序profile文件并生成火焰图top: 实时显示程序运行过程中最耗时的函数调用,类似top命令dump:显示每个线程的调用栈具体使用方法可以参考https://github.com/benfred/py-spyrecord在MacBook上没有成功,虽然执行都正常,但生成的svg文件用浏览器打开如下图所示:docker中使用py-spy需要在生成容器时加入‘–cap-add原创 2020-11-12 20:46:49 · 1460 阅读 · 0 评论 -
postman中进行SHA1或MD5签名
大部分接口为了防御重放攻击,往往使用SHA1或者MD5对请求进行签名,例如,我们有如下请求:Request URL:http://xx.xx.xx.xx/?nonce='123'×tamp='123'Body:{ "xxx":"xxx"}signature = SHA1(字段组合)字段组合可以是nonce+timestamp+body,有时还会加上一个约定好的secret将signature放入头部Headers:{ "signature": "xxxxxxxx原创 2020-09-03 14:01:42 · 2666 阅读 · 0 评论 -
容器中uWSGI listen queue of socket full错误解决办法
在进行接口压测时,发现在模拟200并发的场景下,出现大量502和504错误查看日志后发现并不是来自源代码错误,而是uWSGI# uWSGI日志中出现大量下面的错误uWSGI listen queue of socket "127.0.0.1:3100" (fd: 3) full !!! (101/100)这是由于uWSGI的监听队列满了,默认的监听队列长度为100,需要在uWSGI.ini文件中设置新的长度[uwsgi]listen = 500注意:太大的值会导致对ddos攻击防御力减原创 2020-08-21 15:30:56 · 4169 阅读 · 1 评论 -
JMeter 5.3/MeterSphere v1.1.2接口测试工具安装
最近工作需要对web服务接口进行压力测试,由于完全没有测试相关经验,就只能走一步看一步了由于主要是测试接口的并发性能,因而需要一个能并发产生请求的工具,最开始想到用postman,毕竟对这玩意儿比较了解,但是结果是,这个东西虽然能够在短时间内模拟出指定数量的请求,但貌似不是并发,而是阻塞排队…然后网上知名度较高的就数Apache的JMeter,貌似是搞接口测试的居家必备,能够实现真正意义上的并发请求搜索过程中发现另外一个工具:MeterSphere 这个是一个国内团队开发的一个开源接口测试工具,测试引原创 2020-08-19 16:25:22 · 2268 阅读 · 0 评论