全部产品
Search
文档中心

函数计算:函数性能探测(公测中)

更新时间:May 24, 2024

性能探测可以得到单个实例的性能上限(即最大能承受的QPS),并给出满足端到端延迟限制的最佳实例规格和并发度值。本文介绍如何通过函数计算控制台创建性能探测任务和查看性能探测结果。

使用限制

  • 仅支持单实例压测,不支持多实例压测。

  • 不支持对GPU函数进行压测。

计费说明

压测功能本身不计费,但是压测产生的函数调用请求同正常请求进行计费。每次新建压测任务时,界面会显示本次压测预估的费用。关于请求的计费详情,请参见计费概述

前提条件

  • 已创建待压测的函数。具体操作,请分别参见创建函数

  • 已开通阿里云性能测试服务PTS并创建服务关联角色AliyunServiceRoleForPts。具体操作,请分别参见性能测试

操作步骤

  1. 登录函数计算控制台,在左侧导航栏,单击函数

  2. 在顶部菜单栏,选择地域,然后在函数页面,单击目标函数。

  3. 在函数详情页面的性能压测页签,单击新建压测任务

    1. 单实例性能压测评估页签,输入必要的压测API信息,然后单击执行压测

      重要

      单击执行压测开始压测前,请先单击测试 API测试函数是否能成功执行。如果函数测试失败,函数压测将会失败。因此,请确保函数代码正确以及压测API的HTTP请求参数都配置正确,并测试成功后再执行压测。

      配置项说明如下。

      配置项

      说明

      压测函数

      要执行压测任务的函数。默认选择当前函数,且不支持修改。

      测试域名

      执行压测任务时所使用的测试域名。请确保已为函数创建HTTP触发器,否则无法进行API测试。

      如果当前函数的各个版本均未创建HTTP触发器,则需要单击创建 HTTP 触发器,在创建触发器面板,各配置项保持默认值,然后单击确定

      函数规格

      函数规格方案。选择的规格越多,压测时间越长。支持自定义vCPU和内存的组合规格。

      预估费用

      压测产生的函数调用请求费用,自动计算。

      说明

      该预估费用仅包含函数的调用费用。如果您的函数需要使用数据库等其他服务,产生的额外费用不计入该预估费用。

      压测方法

      函数触发方式。目前支持GET、POST、PUT、DELETE方式。

      压测路径

      HTTP请求的路径。

      最大能够容忍的端到端延迟

      函数的端到端延迟指标值。函数计算根据此指标值和期望 QPS指标值,推荐实例最佳规格和并发度(仅涉及Custom Runtime函数)。

      最大能够容忍的端到端延迟期望 QPS两个指标需至少选填一个。

      期望 QPS

      函数的单实例吞吐。函数计算根据此指标值和最大能够容忍的端到端延迟指标值,推荐实例最佳规格和并发度(仅涉及Custom Runtime函数)。

      最大能够容忍的端到端延迟期望 QPS两个指标需至少选填一个。

    2. 单实例压测结果分析页签,查看压测结果。

      压测过程中,界面会提示压测预估时间。压测的规格越多,压测时间越长,压测费用也越高。

      压测完成后,显示压测开始时间、结束时间、压测时长、压测状态、用户选填的端到端延迟和单实例吞吐。

      压测结果中包含推荐的实例规格和最佳并发请求数(仅涉及Custom Runtime函数)。您还可以从压测结果下方的分析图中,查看分析过程。下方的图分别显示了QPS和RT在不同实例规格下的变化,以及在推荐规格下随着并发度增加而产生的变化。

      image

      说明

      函数计算的压测功能仅支持单实例压测。如您需要配置多实例压测,请单击单实例压测结果分析页签右侧的多实例弹性能力压测,跳转至PTS控制台配置。

    3. 单击查看单实例压测详情,跳转至单实例压测数据详情页签,查看每个规格的压测详情。每个规格的压测详情中,您可以看到随着并发度增加,延迟和最大QPS的变化情况。

      image

      说明

      由于非Custom Runtime函数无法调节并发请求数,图片直接改为数字显示(平均值)。

常见问题

压测结果中推荐的最佳规格与最佳并发度是否完全准确?

每次推荐的并发度和规格值可以作为对函数不同规格性能评估的范围参考,但不能保证完全准确。您可以根据自己业务具体情况评估选择。

如果您想要获得更准确的值,可以多次提交压测任务,然后取多次压测结果中推荐值的平均值。

压测失败或请求错误率过高如何解决?

如果界面显示压测失败,请先根据错误原因排查压测API的配置。