2

Twitter Streaming API를 사용하여 실시간으로 Twitter 게시물을 소비하는 서비스가 있습니다.성능 테스트 Twitter 스트리밍 API 소비자

저는 스트림에 연결하여 트위터를 레디 스로 푸시하는 백그라운드 프로세스를 구축했습니다. 이것은 node.js로 만들어졌습니다

내가해야할 일은이 프로세스가 소비 할 수있는 최대 트윗 수를 알아내는 것입니다. 이 설정을 성능 테스트해야합니다.

이것을 테스트하는 가장 좋은 방법은 무엇입니까?

내가 알 필요가 :

  • 을 처리 할 수있는 얼마나 많은 트윗이
  • 이상 떨어지면 전에 어떤 프로세스가 더 이상 트윗

또 다른 이유를 처리 할 수 ​​없을 때 발생하는 이유 이렇게하려면 node.js를 사용하여 가치가 있는지 여부를 알아 내야합니다. 대신 EventMachine을 사용하여 작성하는 것을 선호합니다.

답변

2

트위터 스트리밍 API에서 오는 트위터의 빈도 및 음량 때문에 본질적으로 벤치마킹에 관심이있는 것은 Redis와 관련하여 백그라운드 프로세스의 I/O 성능입니다.

트위스트를 모의하고 의사 트윗을 생성하거나 실제 트윗의 중요한 샘플링을 수집하고이 데이터 세트를 벤치마킹에 사용하십시오. 이 데이터 세트를 조롱하거나 생성 한 후에는 이에 대한 벤치 마크를 정확하게 작성할 수 있습니다. 예를 들어 데이터를 손에 넣으면이 데이터 세트 전체를 새로운 짹짹 이벤트 처리 논리로 한 번에 밀어 넣거나 활동의 최고점과 최저점을 시뮬레이션 할 수 있습니다.

벤치마킹 할 때 원하는 변수 (트윗 수)를 식별하고 분리하고, 표준화 된 샘플을 사용하고, 일관성없는 외부 행동 (API 제한, 변수 짹짹/초 비율)을 조롱합니다.

+0

독립적이고 쉬운 입력 및 출력이 있기 때문에 직원을 테스트하는 방법을 볼 수 있습니다. 내가해야 할 일은 스트림 연결을 테스트하는 방법을 찾는 것입니다. 그게 내 병목 현상을 볼 수 있습니다. 우리는 트위터에 하나의 스트림 연결만을 만들 수 있지만 부하를 수용하기 위해 많은 작업자를 시작할 수 있습니다. –

+0

TwitterStream garden-hose는 속도 제한이 있으므로 특정 숫자 (결과는 API에 따라 전체 트래픽의 % 1)보다 많은 결과를 제공하지 않습니다. 이 제한에 도달하면 트랙 제한 알림을 시작합니다. 따라서 광범위한 키워드 세트를 제공하여 스트 리머를 테스트하고 시스템이이를 처리하는 방법을 확인할 수 있습니다. "love", "feel", "obama", "bieber"등과 같이 일반적이거나 인기있는 단어를 포함하는 400 개의 키워드 세트로 키워드를 지정하십시오. – cubbuk

0

트위터 스트림 API를 시뮬레이션하는 맞춤 클라이언트를 만드는 것이 좋습니다. 클라이언트는 응용 프로그램이 소비 할 수있는 트윗을 생성 할 수 있습니다. 사용자 정의 스크립트를 지원하는로드 테스트 도구를 사용하여 분산 시스템에서이 트위터 스크립트를 실행하여 원하는로드를 생성 할 수 있습니다. 트윗이 생성되는 동안 시스템의 상태를 모니터링하여 트윗 처리량이 응용 프로그램에 미치는 영향을 측정 할 수 있습니다.

관련 문제