2012-01-25 1 views
5

내가 부탁 해요 이유는이 게시물Node.js 0.6.8에서 처리 할 수있는 초당 Comet 요청 수를 나타내는 벤치 마크가 있습니까?

http://amix.dk/blog/post/19577

은 Node.js를 0.2.2 500/s의 임계 값을 갖고있는 것 같아요과의 Netty에 의해 10 배를 상회하고 있음을 나타냅니다이다. 코멘트에서 Ryan Dahl은 이후에 수정 된 버그로 인한 것일 수 있음을 나타냅니다. 그러나 나는 포스트의 나머지 부분이나 다른 곳에서 문제가 해결되었다는 확인과 벤치 마크가 갱신 된 것을 발견 할 수 없다. 위에서 언급 한 것보다 많은 버전을 사용하고 있으며, 정식 또는 기타 혜성 요청과 관련된 벤치 마크가 있는지 궁금합니다.

벤치 마크가없는 경우 일반적으로 아미르가 신고 한 문제가 아직 해결되지 않았는지 알면 좋습니다. 500 혜성/초는 적당한 크기의 채팅/게임 중심 사이트에서 도달 할 수있는 임계 값입니다.

답변

2

node.js은 먼 길에서왔다. 0.2.2. 로드 밸런서와 함께 다중 노드 프로세스를 사용하는 것을 고려하지 않았다는 의견에 따라 링크 된 게시물에서 논의되는 아키텍처의 구현 문제도있을 것으로 보입니다. 이것은 분명 고성능 애플리케이션을위한 필요성이다

- 실제로, node.jsofficial about section의 마지막 단락을 읽

그러나 다중 프로세서 동시성에 대해? 멀티 코어 컴퓨터로 프로그램을 확장하는 데 스레드가 필요하지 않습니까? child_process.fork()를 통해 새로운 프로세스를 시작할 수 있습니다. 다른 프로세스는 병렬로 스케줄됩니다. 여러 프로세스에서 들어오는 연결을로드 균형 조정하려면 클러스터 모듈을 사용하십시오.

지금, 그들은이를 구걸하는 동일한 하드웨어에 10 개 노드 프로세스를 실행 한 수 (영업 링크 된 게시물에 언급 된 바와 같이) 단일 노드 0.2.2 프로세스의 Netty의 자원의 10 %를 사용하는 것을 고려 질문 : Netty가 노드보다 10 배 빠르고 리소스가 10 배인 경우 실제 성능이 동일하지 않은 것입니까? 한편 노드의 성능은 특히 >=0.6.0 릴리스에서 , 특히 Windows가 실행되는 컴퓨터에서 현저하게 향상되었습니다.이 컴퓨터는 이제 기본적으로 지원됩니다. 0.6.0 release notes에서 Windows 벤치 마크를 참조하십시오

는 HTTP 벤치 마크가 네트워크는 세로드 생성 시스템에서 제공되는 10GE에 600 개 고객과 함께 이루어졌다. 아무도 이야기 할 것 같다 비록

      v0.4.12 (windows) v0.6.0 (windows) 
http_simple.js /bytes/1024 3858 r/s   5823 r/s 
io.js read     12.41 mB/s   26.51 mB/s 
io.js write     12.61 mB/s   33.58 mB/s 
startup.js     152.81 ms   52.04 ms 

한편, 대한가 정확히 무슨 일을하는지 , 그것은 가장 높은 트래픽 기술 선수 중 일부는 매우 높은 용량 시스템 node.js에 의존하고 있습니다 보인다. Google, Yahoo, Mozilla, LinkedIn 및 시작 i.TV은 어제 venturebeat.com에 게시 된 Node at scale 문서에 나와 있습니다.

내가 혜성에 대한 정확한 벤치 마크를 찾을 수 있지만/초, 적절한 시스템 아키텍처가 많이 훨씬 이상 500

것이 분명 보인다
관련 문제