go、thinkphp8、webman数据读取并发测试、性能测试
前期准备:本地搭建程序运行所需环境,分别编写go,thinkphp8和webman程序,确保程序运行正常,新建mysql的student表,模拟存储学生信息,共计3646条数据,分别使用go语言、thinkphp8和webman编写查询程序,查询出student表所有数据信息并返回json格式数据
请求测试软件:apifox自动化测试
1.设置三个请求接口
go请求api地址:http://localhost:8080/data/
thinkphp8请求api地址:http://www.one.cn/index/getData (www.one.cn为phpstudy本地绑定测试域名)
webman请求api地址:http://127.0.0.1:8787/admin/Index/index
2.自动化功能测试数据[受限于本地电脑配置,我循环次数设置不超过800,可根据自己电脑配置自行设置]
(一)、循环次数:800 线程数(操作人数): 1 时间间隔:3ms[不设置时间间隔时apifox在测试完毕后闪退]
go:
接口请求耗时 7.31 秒
平均接口请求耗时 9.33 毫秒
thinkphp8:
接口请求耗时 33.53 秒
平均接口请求耗时 43.05 毫秒
webman:
接口请求耗时 7.59 秒
平均接口请求耗时 9.74 毫秒
(二)循环次数: 5 线程数(操作人数):50 时间间隔:3ms [根据本地电脑配置设置]
go:
总耗时 67.39 秒
接口请求耗时 327.25 秒
平均接口请求耗时 1309 毫秒
thinkphp8:
总耗时 81.89 秒
接口请求耗时 231.75 秒
平均接口请求耗时 927 毫秒
webman:
总耗时 75.411 秒
接口请求耗时 120 秒
平均接口请求耗时 480 毫秒
3.自动化性能测试
并发用户数50 运行时间10分钟 爬坡时间1分钟[在测试持续时间的前 X 分钟,线性逐渐增加并行用户数量直到设置的虚拟用户数。设置为 0 即代表从测试一开始就用设置的虚拟用户数运行。]
go:
总请求次数:21,796
每秒接口请求数:35.90
平均响应时间:33 ms
最小响应时间:8ms
最大响应时间:2753ms
thinkphp8:
总请求次数:14,903
每秒接口请求数:24.50
平均响应时间:165 ms
最小响应时间:53ms
最大响应时间:6981ms
webman:
总请求次数:20,003
每秒接口请求数:32.98
平均响应时间:60 ms
最小响应时间:12ms
最大响应时间:2877ms
- 当循环次数为 800,线程数为 1 时:
- Go 语言在接口请求耗时和平均接口请求耗时方面表现较好,用时较短。
- ThinkPHP8 和 Webman 的性能相对 Go 稍弱,但三者在单线程下的性能差距不是特别巨大。
- 当循环次数为 5,线程数为 50 时:
- 总体来看,Webman 在总耗时和接口请求耗时方面表现较为出色。
- ThinkPHP8 的性能处于中间水平。
- Go 的平均接口请求耗时较长,表现相对较差。
go、thinkphp8、webman数据读取并发测试、性能测试的更多相关文章
- Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 原理and实现
Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 1. 应用场景 1 2. 随机抽取数据原理 1 3. 常用的实现方法:::数据库随机函数 1 4. Mssq ...
- python 读取excel数据并将测试结果填入Excel
python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...
- Jmeter对HTTP请求压力测试、并发测试的简单使用方法
对于服务器性能测试这块的经验更是少得可以忽略.迫使不得不让我们去尝试了解测试的知识. 首先我们的需求场景如下: 服务器硬件:(只有一台) 系统:Windows 2003 WebServer:Tomca ...
- 数据读取速度达1.5G/s,UFS 2.1存储技术曝光
目前最快的是苹果NVME,当然UFS2.1也不差 iPhone6s与iPhone6s Plus在硬件的规格上有了很大的提升,但是它们身上的变化远没有苹果在发布会上所提到的A9处理器.1200万摄像头以 ...
- Jmeter运营活动并发测试—巧用集合点
在运营活动测试过程中,经常需要对秒杀活动或定时抽奖活动进行并发测试.那么怎样快速便捷的模拟多用户同时参与活动,抽取奖品,进行并发测试呢?尤其是,当奖品总数N<用户总数M时,代码是否会存在奖品多发 ...
- Jmeter对HTTP请求压力测试、并发测试
最近公司需要开发一个简单的报名系统,供外网用户提供报名服务,由于我们公司是个初创的微型公司,开发人员都是刚毕业不久,开发经验相当缺乏. 对于服务器性能测试这块的经验更是少得可以忽略.迫使不得不让我们去 ...
- 使用JMeter3.0实战之分布式并发测试以及web API接口测试
简介: 该文档是以Apche JMeter-3.0为例进行编写的,通过网上的学习资料和官方文档的说明手册学习后,进行项目操作实践,将测试的过程记录下提供给大家学习. 本博文的内容主要是进行配置JMet ...
- 白盒测试中如何实现真正意义上并发测试(Java)
在这个话题开始之前,首先我们来弄清楚为什么要做并发测试? 一般并发测试,是指模拟并发访问,测试多用户并发访问同一个应用.模块.数据时是否产生隐藏的并发问题,如内存泄漏.线程锁.资源争用问题. 站在性能 ...
- 使用jMeter对基于SAP ID service进行Authentication的Restful API进行并发测试
这篇文章本来Jerry只在SAP社区上写了英文版的,可以通过点击文末的"阅读原文"获得.后来有两位做Marketing Cloud开发的德国同事,写邮件询问关于文章的更多细节,声称 ...
- jmeter多用户登录并发测试
在使用Jmeter进行性能测试时,我们通常会需要配置多个不同用户进行并发测试,这里简单介绍一下配置方法. 1.运行Jmeter.bat, 在打开的测试计划中右键添加一个线程组: 2.在线程组下添加录 ...
随机推荐
- [MySQL]数据库修复(Example:1146 Error )
删除数据库自带的表,导致的异常问题修复方法如下 运行cmd,查询MYSQL所在位置 where mysql cd到MySQL安装目录的bin目录下 执行命令 mysql_upgrade -u root ...
- 【数据结构】【折半查找法】【二分查找法】Java代码
public class half { public static int find(int[] nums,int num){ int max=nums.length-1; int min=0; in ...
- Spring Boot轻松理解动态注入,删除bean
原文地址:http://412887952-qq-com.iteye.com/blog/2348445 我们通过getBean来获得对象,但这些对象都是事先定义好的,我们有时候要在程序中动态的加入 ...
- 【转载】Spring Cloud Gateway-过滤器工厂详解(GatewayFilter Factories)
http://www.imooc.com/article/290816 TIPS 本文基于 Spring Cloud Greenwich SR2 ,理论支持 Spring Cloud Greenwic ...
- EPPlus使用方法---Excel处理我觉得超级好用
目前只是用到导出Excel功能,导出大规模数据量速度也很快,而且比较容易操作(最起码导出是,暂时没有用到处理已存在的excel功能,有人说NPOI也好用,试了一下,最起码导出这个不如EPPlus ...
- [转]OpenCV4.8 GPU版本CMake编译详细步骤 与CUDA代码演示
导 读 本文将详细介绍如何使用CMake编译OpenCV4.8 CUDA版本并给出Demo演示,方便大家学习使用. CMake编译详细步骤 废话不多说,直接进入正题! [1]我使用的工具版本VS201 ...
- [转]奇异值分解(SVD)方法求解最小二乘问题的原理
原文链接:奇异值分解(SVD)方法求解最小二乘问题的原理 翻译 搜索 复制
- Kubernetes系列(一) - kubernetes入门基本概念
目录 1. 基本概念 1.1 什么是 Kubernetes 集群 1.2 Kubernetes集群资源组成: 1.3 无状态和有状态的区别 1.3.1 无状态服务 1.3.2 有状态服务 2. Kub ...
- R语言画图常用参数
plot(x,xlab = "degree",ylab = "number of nodes",main = "mRNA degree distrib ...
- linux网桥(Linux Bridge)的一些个人记录
目录 1. Linux Bridge简述 2. 网桥创建 创建 配置持久化 在Debian/Ubuntu系统上: 在CentOS/RHEL系统上: 启用和验证 3. 关于linux网桥不转发ip帧的问 ...