使用wrk对api接口进行性能测试

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 使用wrk对api接口进行性能测试

安装

yum install -y openssl git
git clone https://github.com/wg/wrk.git wrk
cd wrk
make
cp wrk /usr/local/bin/

测试

测试服务:fastapi(pip3 install fastapi uvicorn -i https://mirrors.aliyun.com/pypi/simple

from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
    return {"Hello": "world"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

启动:

uvicorn hello:app --host 192.168.0.10 --port 8000 --reload

测试:

wrk -t8 -c400 -d30s http://192.168.0.10:8000
# t:线程数。关于线程数,并不是设置的越大,压测效果越好,线程设置过大,反而会导致线程切换过于频繁,效果降低,一般来说,推荐设置成压测机器 CPU 核心数的 2 倍到 4 倍就行了。
# c:模拟400个并发请求
# d:持续时间

分析测试结果

Running 30s test @ http://192.168.0.10:8000
  8 threads and 400 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   628.72ms   47.76ms 811.86ms   67.54%
    Req/Sec   107.60     88.35   440.00     70.42%
  18898 requests in 30.10s, 2.56MB read
Requests/sec:    627.89
Transfer/sec:     87.14KB
  • 列:
  • Avg:平均值
  • Stdev:标准差
  • Max:最大值
  • +/- Stdev:正负一个标准差所占比例
  • 行:
  • Latency:延迟
  • Req/Sec:每秒请求数
  • 其它:
  • Requests/sec:即QPS,平均每秒处理请求数
  • Transfer/sec:平均每秒流量
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
12天前
|
安全 测试技术 API
一图看懂API测试9种方法
一图看懂API测试九种方法:冒烟测试验证基本功能,功能测试确保符合规格,集成测试检查组件协同工作,回归测试防止新变更引入问题,负载测试评估性能稳定性,压力测试挑战极限负载,安全测试发现并修复漏洞,用户界面测试确保UI与API协调,模糊测试提升异常数据处理鲁棒性。
|
2月前
|
监控 数据可视化 测试技术
Apifox 如何进行 API 自动化测试?经验之谈
选择 Apifox 来进行 API 自动化测试能够确保每次迭代的质量,避免引入新的 bug,还要实现自动化测试、定时测试、产品监控、可视化测试、持续集成等,帮助提高效率,通过设计和执行有针对性的测试用例,来全面验证产品功能,确保软件系统能够正常运行,减少上线后的问题。
Apifox 如何进行 API 自动化测试?经验之谈
|
2月前
|
安全 测试技术 API
API 测试是什么?如何进行 API 测试?
在互联网时代,API已成为软件间交互的关键。API测试验证API是否按预期工作,通过检查响应来确保其正确性、可靠性和安全性。与UI测试不同,API测试聚焦底层功能,有助于早期发现并修复缺陷。它能验证软件质量、加速开发周期、促进微服务架构并支持持续集成/交付。常见的测试类型包括单元测试、功能测试、集成测试、性能测试、安全测试及回归测试。使用自动化工具如Apifox能提高测试效率,支持可视化编排、零代码配置流程条件、生成详细测试报告及快速性能测试,从而确保API质量并提升用户体验。
API
9 1
|
2月前
|
机器学习/深度学习 安全 测试技术
API 接口测试的发展前景展望
在数字化时代,API已成为软件系统集成的核心。随着微服务架构普及与分布式系统增多,API数量激增,对接口测试需求大幅提升。智能化测试借助AI技术提高效率与质量,并降低成本。新技术如容器化和服务化架构催生新型API,推动测试方法不断创新。行业数字化转型与云服务发展进一步强调API测试重要性,开放API生态建设亦依赖严格测试确保安全与正确性。面对网络安全威胁,API安全测试愈发关键。尽管多协议并存和技术挑战带来复杂性,高端测试人才短缺,但API测试前景广阔,将持续发挥关键作用并适应新需求。
|
3月前
|
安全 算法 测试技术
淘宝API接口测试中的安全性保障
在电商领域,淘宝API连接商家与消费者,安全性至关重要。本文探讨了确保API接口测试安全的方法与最佳实践:接口签名确保请求完整性;Token方案防抓包和数据爬取;使用Postman和Katalon Studio提高测试效率。此外,还强调了使用授权认证、数据加密、参数验证及限制请求频率等安全配置的重要性。最后,提醒测试者注意账户授权、数据格式、遵循安全规范及保持工具更新。这些措施共同保障了API的安全性和稳定性。
|
3月前
|
安全 测试技术 API
淘宝API接口测试的详细步骤
理解API文档和规范至关重要; 它们详细描述了请求参数、方法、路径及预期响应, 帮助测试人员准确设计测试用例。测试用例需覆盖正常与异常流程, 可采用自动化工具如Postman辅助编写。测试前要配置好环境, 包括服务器、数据库及测试数据, 并确保安全措施到位。执行测试时选择合适的工具, 如JMeter或SoapUI, 并验证结果符合预期。使用问题跟踪工具记录并跟进测试中发现的问题, 以提升软件质量。
|
3月前
|
API
RestSharp编写api接口测试,并实现异步调用(不卡顿)
【7月更文挑战第14天】以下是使用 `RestSharp` 进行 API 接口测试并实现异步调用的示例代码,以避免发送请求和等待响应过程中导致的界面或程序卡顿。关键步骤包括:创建 `RestClient` 并指定基础 URL;创建 `RestRequest` 并指定端点及方法;使用 `ExecuteAsync` 异步发送请求,并通过 `await` 等待响应。 对于特定需求,如需测试获取用户信息的 API,可在请求中添加身份验证头或查询参数。 通过灵活配置请求参数和处理响应,可以满足各种 API 测试的需求。
88 10
|
3月前
|
安全 Java 测试技术
淘宝API接口测试全攻略
淘宝提供丰富的API接口以促进与平台的数据交互和功能开发。为确保稳定性和安全性,API接口测试至关重要。测试前需熟悉API文档、选配工具(如Postman、JUnit、Selenium)并在独立环境中进行。测试包括端到端、单元及集成测试,并需关注安全问题和正确的数据传输格式。通过有效测试可提升API质量与用户体验。
|
3月前
|
安全 测试技术 网络安全
API渗透测试的基本流程
【7月更文挑战第9天】API渗透测试类似Web应用测试,涉及资产分析和模拟攻击,以发现安全缺陷。