汇总服务负载测试框架

我们正准备将本文档添加到我们的公共指南存储库中,欢迎您就此文档提供反馈意见。

我们建议广告技术平台对所有生产流量运行负载测试:

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

目标

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

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

前提条件

本指南面向广告技术受众群体。在执行以下步骤之前,建议您查看我们关于使用噪声摘要报告设计决策的文档,并通过 Noise Lab 进行实验,以获得最佳配置。

步骤

1. 初始汇总键设置策略

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

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

广告主之间的相似之处
相似之处在评估时应以转化量、相对转化价值和对广告主特征的总体覆盖率为依据。您对它们进行分组越相似,结果的调整度就越大(因为输出值的变化越小),因此噪声的影响越小。如需了解详情,请参阅高级密钥管理。例如,广告技术平台可以按行业、支出和转化量对广告主进行细分,如下所示:

  • 行业(例如:保险、珠宝、增长零售)
  • 支出(例如:<$50,000/季度、$50-$150,000/季度、$150,000-$250,000/季度)
  • 转化量(低、中、高)

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

2. 确定汇总键维度

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

对于每种汇总键结构,您需要跟踪展示次数的重要维度将有助于您确定来源端键的数量。维度将取决于上述第 1 条中所述的广告客户类型(即行业、支出、转化)。以下示例有助于解释维度:

  • 关键结构 1:(行业 = 保险,支出 = <50,000,转化量 = 低)

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

    • A:4 个维度:广告系列(例如:30 种可能性)、广告组(例如:80 种可能性)、广告类型(例如:3 种可能性)、地理位置(例如:50 种可能性)。
      1. 可能的维度组合 = 30 x 80 x 3 x 50 = 360,000。这表示键结构 2 的可能维度组合或来源侧键的数量。
      2. 需要预留 19 位(19 位)= 524,288 个可能的组合
  • 关键结构 3:重复(同样地规划您所拥有的所有关键结构)

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

  • 关键结构 1:(行业 = 保险,支出 = <50,000,转化量 = 低)

    • A:2 个维度:产品类别(例如:100 种可能性)、转化类型(例如:5 种可能性)
      1. 可能的维度组合 = 100 x 5 = 500
      2. 需要预留 9 位(9 位 = 512 个可能的组合)
  • 关键结构 2:(行业 = 保险,支出 = <50,000,转化量 = 中等)

    • A:3 个维度:产品类别(例如:50 种可能)、产品类型(10 种可能)、转化类型(3 种可能)
      1. 可能的维度组合 = 50 x 10 x 3 = 1,500
      2. 需要预留 11 位(11 位 = 2,048 个可能的组合)
  • 关键结构 3:重复(同样地规划您所拥有的所有关键结构)

汇总键的估算值

  • 键结构 1:250,000 个展示键 x 500 个转化键 = 125,000,000 个键
  • 键结构 2:36 万个展示键 x 1,500 个转化键 = 5.4 万个键
  • 关键结构 3:(同样地规划您已拥有的所有关键结构)
  • 针对每个键结构重复上述操作
  • 最大汇总键 = 540,000,000 个键(涵盖所有键结构)。 需要预留 30 位(30 位 = 10.7B 个可能的组合)

预期转化量

对于每种汇总键结构,可以使用以下示例说明预期数量:

  • 关键结构 1:(行业 = 保险,支出 = <50,000,转化量 = 低)
    • 答:预计关键结构 1 将在下一个季度贡献约 $500,000 的广告主支出,平均 CPM 价格为 $8。预计这将导致需要注册的 62500000 次展示。
    • 预计关键结构 1 在下一季度的平均展示转化率为 0.08%,因此需要捕获 50,000 次归因转化。对于每次转化,请衡量购买价值和购买次数。
  • 关键结构 2:(行业 = 保险,支出 = <50,000,转化量 = 中)
    • 答:预计密钥 2 将在下一个季度产生价值约 80 万美元的支出(平均 CPM 价格为 10 美元)。预计这会产生 8000 万次展示,需要进行注册。
    • 预计键 2 在下一季度的平均展示转化率为 0.03125%,因此需要捕获 25,000 次归因转化。对于每次转化,请衡量购买价值和购买次数。
  • 针对每个键结构重复上述操作

报告发送和批处理频率(每个广告客户批量处理)**

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

  • A:每小时一次
  • 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 个广告客户 = 2.4 万个摘要报告)
  • 关键结构 2:25,000 次归因转化 / 2160(每小时报告,每季度报告小时数)= 每个广告客户每小时 12 个摘要报告(12 x 1, 000 个广告客户 = 1.2 万个摘要报告)
  • 关键结构 3:重复
  • 每小时的摘要报告总数 = 针对键结构 1 的 24 个摘要报告 + 针对键结构 2 的 12 个摘要报告 + ... = 每个广告客户每小时...

反馈摘要

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

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