如何发起阿里云VPC内网性能测试

本文介绍了在阿里云VPC内网执行性能测试的方法。相较于传统的公网性能测试,VPC内网性能测试完全在您的VPC环境进行,无需暴露服务到公网,因此安全性更高,灵活性更强。

限制条件

阿里云VPC内网压测目前存在以下限制:

  • 资源限制:VPC不同地域支持的压测能力不一样(2万~10万TPS)。

  • IP限制:

    • VPC须选择被压端所在的VPC。

    • 压测的地址必须是阿里云VPC内网地址。例如直接使用阿里云VPC内网IP地址,或者给域名绑定了阿里云VPC内网地址,关于域名绑定操作,请参见域名绑定

    • 同一场景最多支持一个地域。压测场景中所有压测API必须为一个地域内的内网服务,不能跨地域。

    • 在VPC有专线打通了其它云或者线下机房的情况下,若需压测到对应区域,需要确保VPC和这些区域在同一个网段(如都在10.0.0.0/8)。

  • 白名单限制:

    • 用户需要手动授权允许内网访问。使用前请了解并熟悉阿里云ECS安全组、负载均衡SLB产品的相关操作。

    • 安全组不能限制出方向,且不能是云产品托管的安全组。

    • 交换机的网段要在被压端的内网白名单内。

开始压测前,请检查您的配置是否满足以上条件,特别是IP和白名单限制,否则网络连通会受到影响。

前提条件

  • 开通VPC服务,并创建相应的VPC网络、交换机以及安全组。具体操作请参见搭建IPv4专有网络搭建IPv6专有网络

  • 在VPC网络内启动服务端并配置安全组规则,确保服务在VPC网络内可访问。具体操作请参见ECS安全组配置案例

  • 开通PTS服务。开通PTS服务后,您就可以在PTS控制台授权服务访问您的VPC服务权限,从而使被授权服务可以访问您的VPC、交换机、安全组等。

VPC内网性能测试适用场景

VPC内网性能测试适用于以下几种场景。

  1. 适用于您的服务对安全性比较敏感,无法开放至公共网络。如金融、保险等对安全性要求较高的业务。

    虽然在性能测试过程中您可以通过对施压机IP加白名单的方式隔绝其他公网访问,但直接使用VPC内网性能测试能够将您的服务彻底与公网隔绝,提供了更强的安全性。

  2. 适用于新服务研发过程中的性能测试,该场景下您可能需要检测网络环境对性能测试结果的影响,单独评估服务的性能。

    VPC内网性能测试,在开发阶段可快速发起针对微服务的性能测试。若您的服务使用的是微服务架构,那您在研发阶段,可能会需要针对服务负载情况进行性能测试,从而帮助您评估各服务的负载情况,此时VPC内网性能测试就能够快速地帮助您在研发环境中发起性能测试。而传统的公网性能测试需要您将待测试服务开放到公网,除了会带来较大的安全隐患,同时也会提高您性能测试的执行成本。

  3. 评估阿里云VPC内网服务性能。例如MQTT、Redis等阿里云基础产品。

    MQTT、Redis等阿里云基础产品作为服务的基础组件,通常也不会开通公网访问。因此针对这些组件的性能测试也必须在VPC内网进行。

  4. 若您需要节省性能测试带来的成本,即可选择VPC内网性能测试。

    相较于公网性能测试会产生大量的公网带宽流量进而产生巨大的公网带宽费用,VPC内网性能测试则完全是在您的VPC内网进行,服务不会产生额外的网络带宽费用,可大幅降低您的测试成本。

如何发起VPC内网性能测试

这里以HTTP协议创建PTS压测为例,为您介绍发起VPC内网压测的具体步骤。

  1. 登录PTS控制台,在左侧导航栏选择性能测试 > 创建场景,然后单击PTS压测
  2. 创建PTS压测页面的场景配置页签中,配置相关参数信息。其中压测URL既可以填写公网域名,也可以填写内网IP,但都需要保证对应的IP地址在交换机网段内,才可以通过交换机访问VPC内部服务。这里以压测ALB为例介绍。

    说明

    若您是第一次执行压测,那么在首次进入场景配置页时,系统会自动提醒您授予VPC访问权限,从而使PTS产品可以访问您的VPC信息。当授权同意后,您即可配置场景基本信息。

    ej

  3. 单击施压配置页签,选择压力来源为阿里云VPC内网,然后选择其他配置信息完成参数配置。

    重要

    其中Region、VPC、安全组以及交换机信息必须与被测试服务保持一致。

    nkl

  4. 单击调试场景发起调试,调试成功后单击保存去压测启动测试即可。您可以从调试结果中看到VPC内网的性能测试过程的执行情况。

    fbn

多协议下的VPC内网性能测试

PTS除了支持HTTP协议的VPC内网性能测试外,还支持对阿里云基础产品以及其他协议的性能测试,例如MQTT、Redis、Kafka等。

djkl

VPC内网性能压测使用建议

在对您的服务执行性能测试时,若从被测试链路的范围区分,可以简单地将性能测试分为单链路性能测试与全链路性能测试。

单链路性能测试

性能测试过程中仅覆盖一部分链路,测试范围相对精准,验证某条链路的稳定性。且测试过程中需要参与的人数较少,执行成本较低,可多次执行测试并充分验证。

全链路性能测试

性能测试过程中覆盖服务可能涉及到的所有链路,测试范围足够大,涉及到的上下游较多,从而能够保障从全局找到性能瓶颈点,验证全局的稳定性。且测试过程中需要参与的人数较多,是一个复杂的系统工程,执行成本较高,需要严格控制测试次数。

由于全链路性能测试成本较高,因此一般需要各个单链路经过多次性能测试通过后再执行全链路性能测试。由于单链路性能测试频率较高,建议在单链路性能测试过程中尽可能使用成本较低的VPC内网性能测试,节省性能测试成本。当在所有单链路性能测试通过后,再对服务进行配置以及开放公网访问,最后通过公网下的全链路性能测试来验收所有服务链路。