我有一个使用 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/