汇总服务负载测试框架

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

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

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

目标

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

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

前提条件

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

步骤

1. 初始汇总键设置策略

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

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

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

  • 行业(例如:保险、珠宝、高增长零售)
  • 支出(例如:<5 万美元/季度、5-15 万美元/季度、15-25 万美元/季度)
  • 转化量(低、中、高)

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

2. 确定汇总键维度

接下来,确定您希望跟踪展示次数和转化次数的重要维度,以估计来源和触发器侧密钥的数量。

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

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

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

    • 答: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,转化量 = 低)

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

    • 答: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:(同样,为所有关键结构制定计划)
  • 针对每个密钥结构重复执行
  • 最大汇总键数 = 5.4 亿个键(在所有键结构中)。 需要预留 30 位(30 位 = 10.7 亿种可能的组合)

预期转化量

对于每种汇总键结构,都可以使用以下示例来解释预期的数据量:

  • 关键结构 1:(行业 = 保险,支出 < 50,000,转化量 = 低)
    • 答:预计在下一季度,关键结构 1 将带来约 50 万美元的广告客户支出,平均每千次展示费用为 8 美元。预计这会产生 6,250 万次需要注册的展示。
    • 预计在下一季度,关键结构 1 的平均展示到转化率为 0.08%,因此需要捕获 5 万次归因转化。对于每次转化,衡量购买价值和购买次数。
  • 关键结构 2:(行业 = 保险,支出 < 50,000,转化量 = 中等)
    • 答:预计在下一季度,关键字 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 点的批处理应仅包含 scheduled_report_time 介于上午 10 点到上午 11 点之间的报告,而不应包含 scheduled_report_time 不同(例如:上午 9 点)。

报告量估算值

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

反馈摘要

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

  • 每个汇总服务作业的输入网域键(用于汇总的键)数量上限
  • 每个作业的输入报告量上限(归因转化)
  • 每个报告的估计贡献(报告中的键/值对)
  • 每个职位获得的归因转化的估计分布
  • 作业中网域键的估计分布
  • 每小时/每天/每周的作业数估计值