2

我有一个使用 Twitter Streaming API 实时消费 Twitter 帖子的服务。

我已经建立了一个后台进程,它连接到流并将推文推送到 Redis。这是用 node.js 构建的

我需要做的是弄清楚这个过程可以消耗的最大推文数量。我需要对此设置进行性能测试。

对此进行测试的最佳方法是什么?

我需要知道:

  • 在它崩溃之前它可以处理多少条推文
  • 当进程无法处理更多推文时会发生什么

我想要这样做的另一个原因是确定它是否值得使用 node.js。我宁愿用 EventMachine 来写它。

4

2 回答 2

2

由于您天生受到来自 Twitter 流 API 的推文的频率和数量的限制,因此您对基准测试真正感兴趣的是您的后台进程相对于 Redis 的 I/O 性能。

模拟推文并生成伪推文或收集大量实际推文样本,并在您的基准测试中使用此数据集。在模拟/生成这个数据集之后,你可以精确地写你的基准测试。例如,手头有数据集,您可以一次将整个数据集推送到新的推文事件处理逻辑中,或者模拟活动的高峰和低谷。

关键是,在进行基准测试时,识别和隔离所需的变量(推文数量),使用标准化样本,并模拟不一致和外部行为(API 限制、可变推文/秒速率)。

于 2012-07-17T21:00:45.447 回答
0

我建议创建模拟 Twitter Stream API 的自定义客户端。客户端可以生成推文供您的应用程序使用。我们可以使用支持自定义脚本的负载测试工具从分布式机器上运行这个 twitter 脚本来生成所需的负载。在生成推文时,您可以监控系统的运行状况,以衡量推文吞吐量对您的应用程序的影响。

于 2013-01-08T11:48:21.893 回答