pubsub 推送 -> 应用引擎的性能*方式*太慢
Performance is *way* too slow with pubsub push -> app engine
我要求每秒处理约 20k 个调用。我的系统处理 ~1M 条目的列表并为每个项目执行多个作业。它本质上非常“突发”,因为它并不总是处理列表。我添加了一个 App Engine flex env(Rails),使用自动缩放,测试端点等待 5 秒和 return。我推送到 pubsub 主题,推送订阅发送到 App Engine。 运行 这会达到每秒 20-30 个请求的稳定状态。
我猜问题出在 pubsub 推送量算法与 App Engine 交互的交互上,但后来我 运行 进行了第二次测试,我只是像在具有多个进程的循环中一样处理 curl 请求。这也是 运行 20-30 rps。
我被困在这一点上,想知道如何继续。如何配置系统以获得更高的性能?我需要我所看到的三个数量级的性能。
非常感谢您的帮助!
我对 pub/sub 的体验是,对于单个消息处理来说,速度真的很慢。我猜想成为 http 会产生开销。我看到的平均时间是在 google 之外大约 40 毫秒,如果你 运行 你的代码在 google 服务器上,则为 20 毫秒。
对我有用的是批处理消息,我能够在每次发布 1k 条消息中批处理它们时达到 100k msgs/sec。
我要求每秒处理约 20k 个调用。我的系统处理 ~1M 条目的列表并为每个项目执行多个作业。它本质上非常“突发”,因为它并不总是处理列表。我添加了一个 App Engine flex env(Rails),使用自动缩放,测试端点等待 5 秒和 return。我推送到 pubsub 主题,推送订阅发送到 App Engine。 运行 这会达到每秒 20-30 个请求的稳定状态。
我猜问题出在 pubsub 推送量算法与 App Engine 交互的交互上,但后来我 运行 进行了第二次测试,我只是像在具有多个进程的循环中一样处理 curl 请求。这也是 运行 20-30 rps。
我被困在这一点上,想知道如何继续。如何配置系统以获得更高的性能?我需要我所看到的三个数量级的性能。
非常感谢您的帮助!
我对 pub/sub 的体验是,对于单个消息处理来说,速度真的很慢。我猜想成为 http 会产生开销。我看到的平均时间是在 google 之外大约 40 毫秒,如果你 运行 你的代码在 google 服务器上,则为 20 毫秒。 对我有用的是批处理消息,我能够在每次发布 1k 条消息中批处理它们时达到 100k msgs/sec。