性能testingTwitter Streaming API消费者

我有一个使用Twitter Streaming API实时使用twitterpost的服务。

我build立了一个连接到stream的后台进程,并将推送到Redis中。 这是用node.js构build的

我需要做的是找出这个过程可以消耗的最大数量的鸣叫。 我需要性能testing这个设置。

什么是testing这个最好的方法?

我需要知道:

  • 它可以处理之前,它可以处理多less鸣叫
  • 当进程不能处理更多的推文时会发生什么

另一个我想这样做的原因是要弄清楚它是否值得使用node.js。 我宁愿用EventMachine代替它。

由于您本质上受到来自Twitter Streaming API的Twitter频率和音量的限制,因此您实际上对基准testing感兴趣的是您的后台进程相对于Redis的I / O性能。

模拟推文并生成伪推文或收集实际推文的重要抽样,并将这些数据集用于基准testing。 在嘲笑/产生这个数据集之后,你可以精确地写出你的基准。 例如,手动设置的数据,您可以将整个数据集一次全部推送到新的tweet事件处理逻辑中,或者模拟活动的高峰和低谷。

重点是,当基准,识别和隔离所需的variables(鸣叫的数量),使用标准化的样本,并模拟不一致和外部行为(API的限制,可变推/秒率)。

我会build议创build自定义客户端模拟TwitterstreamAPI。 客户端可以为您的应用程序生成tweets消费。 我们可以使用支持自定义脚本的负载testing工具从分布式机器运行这个twitter脚本来生成所需的负载。 在生成推文时,您可以监视系统的运行状况,以衡量推文吞吐量对应用程序的影响。