포럼
실시간 글 알림 애드온 커넥션 테스트를 해봤습니다.
2013.11.11 20:59
어제인가? 최대 커넥션이 얼마나 되는지 물어보시는 분이 있길래
두 군데에서 진행해 봤습니다.
하나는 자체서버 / 그리고 설치설명서에 있는 nitrous.io 에서 발급 받은 무료서버 에서 커넥션 수 테스트를 진행 해 보았습니다.
자체서버(4코어)
Nitrous.io 서버(2코어)
두개 서버 다 cluster(분산처리) 적용시킨 상태이고요..
생각 외로 Nitrous.io 의 퍼포먼스는 뛰어났습니다.
서버호스팅을 하고 있다고 하더라도 자체 서버에 Node.js 설치하는데 고생하시는 것 보다
그냥 웬만한 커뮤니티는 Nitrous.io 에서 서버 받아서 하는게 더 나을 듯 싶네요.
물론 동접자가 900명이 넘어가는 커뮤니티라면 따로 서버 구성하셔야 되고요 (...)
댓글 7
-
Gunmania
2013.11.11 22:42
-
Canto
2013.11.12 06:17
트래픽 면에서는 이번 것이 훨씬 더 절약 됩니다.
자원 활용면에서는.. 비교하기가 좀 어렵네요 예전 애드온은 정해진 시간마다 리플레쉬 해서 체크하는 방식이고
이번 애드온은 소켓통신을 통해 실시간으로 체크하는 방식이니..
그래도 예전 애드온을 1초당 실행시키는 것 보다야 이게 훨씬 부하가 안걸리겠죠? ^^;
예시로 제가 운영중인 서버에서 구동 중인 애드온에 클러스터링 처리를 한 뒤 커넥트 수 1000개로 부하 테스트를 해본 결과 입니다.
P: 1, U: 77, MR/S: 493, MS/S: 493, MR/S/U: 6.4, MS/S/U: 6.4, CPU: 3.7, Mem: 2.9
P: 2, U: 257, MR/S: 1380, MS/S: 1380, MR/S/U: 5.2, MS/S/U: 5.2, CPU: 8.3, Mem: 3.1
P: 3, U: 386, MR/S: 1827, MS/S: 1827, MR/S/U: 4.6, MS/S/U: 4.6, CPU: 10.7, Mem: 3.2
P: 4, U: 437, MR/S: 2561, MS/S: 2561, MR/S/U: 5.8, MS/S/U: 5.8, CPU: 13.9, Mem: 3.4
P:프로세서ID
U:커넥트수
MR/S: 초당 수신하는 메시지 수
MS/S: 초당 발송하는 메시지 수
MR/S/U : 사용자당 수신 하는 메시지 수 (초단위)
MS/S/U : 사용자당 발송 하는 메시지 수 (초단위)
CPU : node 서버의 CPU 로드율
Mem : node 서버의 Memory 로드율
참고로 해당 서버의 성능은 CPU - INTEL Quad Core Xeon 3210(8M Cache, 2.13 GHz, 1066 MHz FSB) & RAM - DDR2 1GB
입니다.
-
쿡래빗
2013.11.12 16:41
뭔소린지 모르겠지만 좋다는거죠...?
감사합니다!!
그런데 Nitrous.io 에서 갑자기 서비스 종료 될 수도 있는건가요?
-
DynamicLaser
2013.11.12 22:05
네, 그건 감안하셔야 합니다.
-
Lansi
2013.11.12 20:52
Node.js 하고 socket.io 성능 좋더라구요.
아톰 230으로 쏟아지는 수천개의 메세지를 브로드캐스팅하고도 멀쩡합니다.
-
KS
2013.11.13 00:01
저도 Node.js 와 socket.io 를 이용하여 실시간알림을 하고 있는데요,
다만 이게 XE -> 푸시서버로 쏴주는게 문제인지, socket.io ㄴ문제인지 몰라도 간헐적으로 알람이 안갈때가 있네요.
이 부분은 가비지컬렉터 문제라고 지레 짐작 하고 있습니다.
-
Canto
2013.11.13 16:14
노드 서버 실행시킬때 가비지컬렉터를 자동으로 실행시키지 않게 옵션 주고 스크립트 안에서 자체적으로 GC 실행시키면 될 것 같습니다.
음 자체 서버 구성시 기존 애드온과 부하 차이가 얼마정도 있을까요?