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

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

限制条件

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

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

  • IP限制:

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

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

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

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

  • 白名单限制:

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

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

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

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

前提条件

VPC内网性能测试适用场景

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

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

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

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

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

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

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

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

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

如何发起VPC内网性能测试

  1. 登录PTS控制台,选择性能测试 > 创建场景,然后单击PTS压测

  2. 创建PTS压测页面的场景配置页签中,配置相关参数信息。其中压测URL既可以填写域名,也可以填写内网IP,但都需要保证对应的IP地址在交换机网段内,才可以通过交换机访问VPC内部服务。

  3. 压力模式配置区域,压力来源选择阿里云VPC内网,您可根据需要合理选择施压参数,更多配置请参考压力模式与量级配置image

    重要

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

  4. 调试场景可验证配置是否合理,避免压测失败。若需进行场景调试,单击调试场景即可进入场景调试页面。更多信息,请参见调试场景

  5. 单击保存去压测,在温馨提示页面,选择立即执行并勾选确认本次压测已获得准许并遵守当地法律,然后单击启动压测

VPC内网性能压测使用建议

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

  • 单链路性能测试

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

  • 全链路性能测试

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

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