压测即压力测试,通过压力测试您可以获取服务器的最大承受能力,以便实现更好地运营和开发。例如当函数类型是事件函数时,您可以直接通过压测相关命令对指定函数进行压测,无需编辑一个压测脚本。本文介绍Serverless Devs压测的基本原理和如何使用相关命令实现对函数的压测。
前提条件
基本原理
对于函数计算不同类型的函数来说,一般通过以下方式实现压测:
- 匿名HTTP函数
对于匿名HTTP函数,一般直接使用常规的Web测试工具,例如Apache Bench。
- 事件函数
对于事件函数,目前只能通过编写压测脚本,才可以实现函数的压测。
为了更加便捷地压测函数,Serverless Devs为您提供了压测功能,方便您一键压测业务函数。

如上图所示,压测流程如下:
- Serverless Devs创建辅助函数并调用(图示中①)。同时,压测参数会被放置在压测函数的输入(例如HTTP函数的请求体或event函数的入参)中。
说明 辅助服务和辅助函数的名称均为
_DEFAULT_FC_STRESS_COMPONENT_SERVICE
。 - 辅助函数被调用后会基于Python Locust对目标函数进行压测(图示中②)。关于Python Locust的详细信息,请参见What is Locust。
- 辅助函数将压测结果返回到本地(图示中③),并生成一个HTML文件(图示中④)。通过该文件,您可以可视化地查看压测结果的参数信息,例如:
- Average:请求的平均响应时间。
- Fails:失败的请求次数。
- Failures:每秒失败的请求次数。
- MAX:服务的最大请求时间,单位毫秒。
- Method:请求类型。
- Name:压测的请求路径。
- RPS:每秒的请求次数。
- Request:总的请求次数。
- p50:所有请求中有50%的请求响应时间小于此参数的值。
操作步骤
更多信息
如果您还需要指定其他的参数,请参见使用s cli fc stress的相关命令实现压测。