前期准备:本地搭建程序运行所需环境,分别编写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

结论:
  1. 当循环次数为 800,线程数为 1 时:

    • Go 语言在接口请求耗时和平均接口请求耗时方面表现较好,用时较短。
    • ThinkPHP8 和 Webman 的性能相对 Go 稍弱,但三者在单线程下的性能差距不是特别巨大。
  2. 当循环次数为 5,线程数为 50 时:
    • 总体来看,Webman 在总耗时和接口请求耗时方面表现较为出色。
    • ThinkPHP8 的性能处于中间水平。
    • Go 的平均接口请求耗时较长,表现相对较差。
建议:
  对之前使用thinkphp或laravel开发的开发人员,企业项目需要兼顾并发和性能时可选择webman,上手快,如果涉及处理大量并发请求和计算密集型任务的系统,则选择go,日常的企业项目,则使用thinkphp或laravel足够满足并发要求,读者可根据实际的项目要求进行选择。

go、thinkphp8、webman数据读取并发测试、性能测试的更多相关文章

  1. Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 原理and实现

    Atitit.并发测试解决方案(2) -----获取随机数据库记录 随机抽取数据 随机排序 1. 应用场景 1 2. 随机抽取数据原理 1 3. 常用的实现方法:::数据库随机函数 1 4. Mssq ...

  2. python 读取excel数据并将测试结果填入Excel

    python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...

  3. Jmeter对HTTP请求压力测试、并发测试的简单使用方法

    对于服务器性能测试这块的经验更是少得可以忽略.迫使不得不让我们去尝试了解测试的知识. 首先我们的需求场景如下: 服务器硬件:(只有一台) 系统:Windows 2003 WebServer:Tomca ...

  4. 数据读取速度达1.5G/s,UFS 2.1存储技术曝光

    目前最快的是苹果NVME,当然UFS2.1也不差 iPhone6s与iPhone6s Plus在硬件的规格上有了很大的提升,但是它们身上的变化远没有苹果在发布会上所提到的A9处理器.1200万摄像头以 ...

  5. Jmeter运营活动并发测试—巧用集合点

    在运营活动测试过程中,经常需要对秒杀活动或定时抽奖活动进行并发测试.那么怎样快速便捷的模拟多用户同时参与活动,抽取奖品,进行并发测试呢?尤其是,当奖品总数N<用户总数M时,代码是否会存在奖品多发 ...

  6. Jmeter对HTTP请求压力测试、并发测试

    最近公司需要开发一个简单的报名系统,供外网用户提供报名服务,由于我们公司是个初创的微型公司,开发人员都是刚毕业不久,开发经验相当缺乏. 对于服务器性能测试这块的经验更是少得可以忽略.迫使不得不让我们去 ...

  7. 使用JMeter3.0实战之分布式并发测试以及web API接口测试

    简介: 该文档是以Apche JMeter-3.0为例进行编写的,通过网上的学习资料和官方文档的说明手册学习后,进行项目操作实践,将测试的过程记录下提供给大家学习. 本博文的内容主要是进行配置JMet ...

  8. 白盒测试中如何实现真正意义上并发测试(Java)

    在这个话题开始之前,首先我们来弄清楚为什么要做并发测试? 一般并发测试,是指模拟并发访问,测试多用户并发访问同一个应用.模块.数据时是否产生隐藏的并发问题,如内存泄漏.线程锁.资源争用问题. 站在性能 ...

  9. 使用jMeter对基于SAP ID service进行Authentication的Restful API进行并发测试

    这篇文章本来Jerry只在SAP社区上写了英文版的,可以通过点击文末的"阅读原文"获得.后来有两位做Marketing Cloud开发的德国同事,写邮件询问关于文章的更多细节,声称 ...

  10. jmeter多用户登录并发测试

    在使用Jmeter进行性能测试时,我们通常会需要配置多个不同用户进行并发测试,这里简单介绍一下配置方法. 1.运行Jmeter.bat,  在打开的测试计划中右键添加一个线程组: 2.在线程组下添加录 ...

随机推荐

  1. 共建共荣金融生态!金融级数字底座“源启”与GoldenDB数据库完成互认证

    近日,中电金信金融级数字底座"源启"顺利与金篆信科GoldenDB分布式数据库完成互认证.GoldenDB数据库安全稳定运行在"源启"之上,整体性能表现卓越,进 ...

  2. Qt/C++音视频开发49-多级连保存和推流设计(同时保存到多个文件/推流到多个平台)

    一.前言 近期遇到个用户需要多级联的保存和推流,在ffmpegsave多线程保存类中实现这个功能,越简单越好,就是在推流的同时,能够开启自动转储功能,一边推流的同时一边录像保存到本地视频文件.最初设想 ...

  3. Qt/C++编写全能播放组件(支持ffmpeg2/3/4/5/6/Qt4/5/6)

    一.前言 从代码层面以及自由度来说,用ffmpeg来写全能播放组件是最佳方案(跨平台最好最多.编解码能力最强),尽管已经有优秀的vlc/mpv等方案可以直接用,但是vlc/mpv对标主要是播放器应用层 ...

  4. Qt编写地图综合应用19-地图服务

    一.前言 国内提供地图服务的厂家基本上是五家,百度地图.高德地图.腾讯地图.搜狗地图.天地图,国外的一般还有谷歌地图.微软地图(BING地图),这几家的地图服务的api接口都大同小异,甚至很多函数的名 ...

  5. OpenCV4.1.0编译时提示“CV_BGR2GRAY”: 未声明的标识符

    OpenCV版本为4.1.0 使用CV_BGR2GRAY时报错: "CV_BGR2GRAY": 未声明的标识符 解决方法一:添加头文件:#include <opencv2/i ...

  6. 哔哩哔哩从0到1自研智能客服IM系统的技术实践之路

    本文由B端技术中心分享,原题"从0到1:哔哩哔哩智能客服系统的设计与实现",本文有修订和改动. 1.引言 本文将要分享的是哔哩哔哩从0到1自研智能客服IM系统的技术实践过程,包括整 ...

  7. 记录使用socket.io的使用

    今天记录一下node.js的egg框架搭建的socket.io,前端联合使用 首先得引入socket.io的js,我这边是用的下载到本地的一个js 引入:const io = require('../ ...

  8. Solution Set - “带我去看极光与大海吧”

    目录 0.「AGC 062C」Mex of Subset Sum 1.「THUPC 2021 初赛」「洛谷 P7136」方格游戏 2.「THUPC 2023 初赛」「洛谷 P9139」喵了个喵 II ...

  9. Mysql身份认证过程

    背景 最近有一些hersql的用户希望能支持mysql的caching_sha2_password认证方式,caching_sha2_password与常用的mysql_native_password ...

  10. Educational Codeforces Round 172 (Rated for Div. 2)(C-D)

    题目链接:Dashboard - Educational Codeforces Round 172 (Rated for Div. 2) - Codeforces C. Competitive Fis ...