汇总服务负载测试框架

我们准备将本文档添加到我们的公共指南代码库中,欢迎您就本文档提供反馈。

我们建议广告技术平台对 100% 的正式版流量运行负载测试:

  1. 广告技术平台应将 Attribution Reporting API 用作报告用例,以便访问转化归因衡量功能。
  2. 广告技术平台应在尽量减少噪声的情况下做出设计决策(参考:设计决策建模)
  3. 在测试期间,广告技术平台应跟踪其每天运行的作业数量(例如,每个广告客户的作业数量)、转化事件量的估算分布以及每个处理作业作为输入的汇总键数量(请参阅 Aggregation Service API 文档中的 output_domain_blob_prefix 作业参数),以及每个输入报告的估算平均转化事件数。
  4. 对于测试,广告技术平台应根据预期的作业大小(即报告量、网域大小)从大小调整指南表中查找推荐的实例类型,并相应地调整其部署的汇总服务的大小。参考:“AWS 上的汇总服务”的大小调整指南
  5. 广告技术平台应针对负载测试执行汇总作业。

目标

本指南专门针对汇总转化归因衡量,其中包含要供广告技术平台使用的关键设置和配置说明,以便:

  • 估算预期负载,以衡量汇总转化归因。
  • 根据其要衡量的维度和目标,以及广告客户的规模和细分,优化其关键设置和配置,以便衡量效果和噪声

前提条件

本指南面向广告技术平台受众群体。在执行以下步骤之前,您应先查看有关处理噪声摘要报告设计决策的文档,并使用噪声实验室进行实验,以获取最佳配置。

步骤

1. 初始汇总键设置策略

根据您的业务类型和目标,确定您需要多少个不同的键结构(即一组维度)。请注意,优化键结构有助于减少报告中的噪声。

您拥有的广告客户数量
例如,假设您有 1,000 个广告客户

广告客户之间的相似性
应根据转化量、相对转化价值和广告客户特征的一般覆盖率来评估相似性。您能够将这些数据分组得越相似,结果就越精细(因为输出值的方差越小),因此噪声的影响就越小。如需了解详情,请参阅高级密钥管理。例如,广告技术平台可以按行业、支出和转化量对广告客户进行细分,如下所示:

  • 行业(例如:保险、珠宝、成长型零售)
  • 支出(例如:每季度低于 5 万美元、每季度 5 万至 15 万美元、每季度 15 万至 25 万美元)
  • 转化量(低、中、高)

要创建的汇总键结构的数量
例如,27(3 x 3 x 3):3 个行业、3 种支出类型和 3 个转化价值分组。

2. 确定汇总键维度

接下来,确定您希望跟踪的展示和转化的重要维度,以估算来源端和触发器端键的数量。

对于每个汇总键结构,您需要跟踪的展示次数重要维度有助于确定来源端键的数量。维度取决于广告客户类型,例如行业、支出或转化。以下示例有助于说明维度:

  • 键结构 1:(行业 = 保险、支出 < 5 万美元、转化量较低)

    • 答:4 个维度:广告系列(例如:50 个选项),广告组(例如:20 种可能性)、设备类型(例如:5 种可能性),地理位置(例如:50 种可能性)
      1. 可能的尺寸组合 = 50 x 20 x 5 x 50 = 25 万。这表示键结构 1 的源端键的可能维度组合数量。
      2. 需要预留 18 位(18 位 = 262,144 种可能的组合)
  • 键结构 2:(行业 = 保险、支出 < 5 万美元、转化量 = 中等)

    • 答:4 个维度:广告系列(例如:30 个选项),广告组(例如:80 种可能性),广告类型(例如:3 种可能性)、地理位置(例如:50 种可能性)。
      1. 可能的尺寸组合 = 30 x 80 x 3 x 50 = 360,000。这表示键结构 2 的可能维度组合或来源端键的数量。
      2. 需要预留 19 位(19 位)= 524,288 个可能的组合)
  • 关键结构 3:重复(请为您拥有的所有关键结构制定类似的计划)

对于每个汇总键结构,您需要跟踪的转化重要维度有助于确定触发器端键。例如:

  • 键结构 1:(行业 = 保险、支出 < 5 万美元、转化量较低)

    • 答:2 个维度:商品类别(例如:100 种可能的值)、转化类型(例如:5 种可能性)
      1. 可能的尺寸组合 = 100 x 5 = 500
      2. 需要预留 9 位(9 位 = 512 种可能的组合)
  • 键结构 2:(行业 = 保险、支出 < 5 万美元、转化量 = 中等)

    • 答:3 个维度:商品类别(例如:50 种可能值)、商品类型(10 种可能值)、转化类型(3 种可能值)
      1. 可能的尺寸组合 = 50 x 10 x 3 = 1,500
      2. 需要预留 11 位(11 位 = 2,048 种可能组合)
  • 关键结构 3:重复(请为您拥有的所有关键结构制定类似的计划)

汇总键的估算值

  • 键结构 1:25 万个展示键 x 500 个转化键 = 1.25 亿个键
  • 键结构 2:36 万次展示键 x 1,500 个转化键 = 5.4 亿个键
  • 键结构 3:(请同样为您拥有的所有键结构制定计划)
  • 针对每个键结构重复上述步骤
  • 汇总键的数量上限 = 540,000,000 个键(涵盖所有键结构)。 需要预留 30 位(30 位 = 10.7 亿个可能的组合)

预计转化量

对于每个汇总键结构,您可以使用以下示例来解释预计的量:

  • 键结构 1:(行业 = 保险、支出 < 5 万美元、转化量较低)
    • 答:预计关键结构 1 在下一季度将带来约 50 万美元的广告支出,每千次展示费用平均为 8 美元。预计这将导致需要注册 62,500,000 次展示。
    • 预计“关键字结构 1”在下一季度内的平均展示次数转化率为 0.08%,因此需要捕获5 万次归因转化。对于每次转化,衡量购买价值和购买次数。
  • 键值对结构 2:(行业 = 保险、支出 < 5 万美元、转化量 = 中等)
    • 答:预计关键字 2 在接下来的一个季度内将产生约 80 万美元的支出,平均每千次展示费用为 10 美元。预计这将导致需要注册 8,000 万次展示。
    • 预计关键字 2 在接下来一个季度的平均展示次数转化率为 0.03125%,因此需要捕获25,000 次归因转化。对于每次转化,衡量购买价值和购买次数。
  • 针对每个密钥结构重复上述步骤

报告投放和批处理频率(每个广告客户的批次)**

对于每个汇总键结构,您都需要定期接收转化报告。我们建议广告技术平台按广告客户进行批处理(以便更清晰地分隔每个报告的数据,并更高效地进行汇总),并使用报告的 shared_info.scheduled_report_time 字段进行批处理。

  • 答:每小时
  • B:每天
  • C:每周

备注

  • 对于按广告客户批量处理,请与广告客户确认服务等级协议 (SLA)。
  • 批处理频率越高,每批噪声就越大。(请参阅决策:批量频次)。

  • 为避免因批处理不正确而导致错误,请确保批处理使用 scheduled_report_time 字段,而不是 report arrival time。例如:如果您每小时批量处理一次,那么上午 11 点的批次应仅包含上午 10 点到 11 点之间具有 scheduled_report_time 的报告,而不包含上午 10 点到 11 点之间具有其他 scheduled_report_time 的报告(例如:上午 9 点)。

报告量估算值

  • 键值结构 1:5 万次归因转化 / 2160(每小时报告,一个季度的小时数)= 每位广告客户每小时 24 份摘要报告(24 x 1,000 位广告客户 = 24, 000 份摘要报告)
  • 键值结构 2:25,000 次归因转化 / 2160(按小时生成报告,一个季度有 2160 小时)= 每位广告客户每小时 12 份摘要报告(12 x 1,000 位广告客户 = 12,000 份摘要报告)
  • 键结构 3:重复
  • 每小时的摘要报告总数 = 键结构 1 的摘要报告 24 份 + 键结构 2 的摘要报告 12 份 + ... = 每个广告客户每小时...

反馈摘要

了解广告技术平台提供的以下估算值有助于我们规划功能和改进,以支持广告技术平台所需的规模。建议您向我们提供以下信息。如需了解详情,请参阅我们的 AWS 上的汇总服务大小调整指南

  • 每个汇总服务作业的输入网域键(要汇总的键)数量上限
  • 每个作业的输入报告量上限(归因转化)
  • 每个报告的估算贡献(报告中的键值对)
  • 每项作业的归因转化次数估算分布
  • 作业中网域键的估算分布
  • 每小时/每天/每周的作业数量估算值