api - 性能测试 Twitter Streaming API 消费者

标签 api node.js eventmachine performance-testing twitter-streaming-api

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

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

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

测试这个的最佳方法是什么?

我需要知道:

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

我想要这样做的另一个原因是想弄清楚它是否值得使用node.js。 我更愿意用 EventMachine 来编写它。

最佳答案

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

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

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

关于api - 性能测试 Twitter Streaming API 消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11508123/

相关文章:

java - 微服务架构、认证等服务

api - Google Places API 的替代品

node.js - 在 NodeJS 中操作数据的最佳方法是什么?

php - 如何使用 TripleDES 加密与 Node.js 和 PHP-mcrypt 获得相同的结果?

javascript - 为什么这是 Node js 集群中的错误

ruby - EventMachine: "` start_tcp_server': no acceptor (port is in use or requires root privileges)"

ruby - 使用 EventMachine 设置无限循环以生成随机数据

javascript - 在阅读方法文档时,参数周围的括号是什么意思?

api - 为 HTTPClient get() 请求设置超时

ruby - 连接到后台 EventMachine 应用程序以进行单元测试