????优质资源分享????
???? Python实战微信订餐小程序 ???? | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
????Python量化交易实战???? | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
安装JMeter及使用
登录官方网站找到下载链接进行下载:https://jmeter.apache.org/download_jmeter.cgi
2配置环境变量
配置JMeter环境变量
新建变量名JMETER_HOME
安装Java8+
新建.Net程序
输入项目名称
选择框架.Net0
在Controllers添加包含读/写的API控制器
这次分别测试上面4个接口在不同框架下的响应情况
因为框架默认引用了swagger组件,所以可以直接访问,但页面出现404
修改Startup.cs代码,注释如下行
在此生成运行出现swagger页面
Jmeter接口测试
出现下面窗口
1新建一个线程组,线程就是模拟用户请求,可设置线程数来控制请求的数量
线程数:模拟请求的用户数量Ramp-Up时间:达到启用指定线程数的时间循环次数:线程执行循环的次数,一般在初次测试接口时设置为正式压测时设置的永远Sameuseroneachiteration:待补充…延迟创建线程知道需要:待补充…调度器:持续时间:程序持续运行时间,启动延时:启动的线程延时多久执行下一组
2添加Http请求默认值
3添加HTTP信息头管理器
4添加Http请求
按照需要测试的几种请求接口,这里需要添加四个Http请求
5添加响应断言,对请求的接口进行断言,判断是否请求成功
6添加查看结果树,查看详细的接口请求及返回内容
7添加聚合报告查看整体接口请求聚合情况
8进行初步测试确保接口响应没有问题
9修改线程数,启用调度器,再次启动压测请求
第一次请求出现了大量的:alreadyinuse:connect
搜索找到解决方案修改注册表:
在Parmeters右键新建DWORD值,命名为MaxUserPort,然后选择十进制并输入数据65534后保存
然后测试发现还是一样的错误,检查参数设置发现Sameuseroneachiteration没有勾选,查询了下资料大概意思是如果选中表示每次请求是同一个用户,不勾选循环的每次是不同的用户
10net0请求300s结果如下,大概每秒59889次请求
11切换至.net0
再次进行测试
请求300s结果如下,大概每秒62237次请求,提升了234基于net0提升了9%
12切换至.net0
再次进行测试
请求300s结果如下,大概没秒63108次请求,基于net0提升876次,提升4%,基于net0提升3222次,提升3%
13对比测试高性能Go语言测试
测试使用Go版本
测试结果,大概每秒90641次请求,单纯的接口性能相应上来说,对比.net有巨大的优势
此次测试的结果都是基于本地电脑测试,测试结果可能无法反应实际的处理情况
本机电脑配置情况
单纯从接口响应情况来看,net0及以上已经有了很大的提升,net0,net0也都有相应的提升,也为后续的业务处理高并发打下了基础
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点