물론 클라이언트가 서버의 쓰기를 읽기에는 너무 느리면 데이터를 버퍼링하고 증가시킬 수 있습니다 [1].Inet 스트림 소켓은 Node.js에서 얼마나 많은 메모리를 사용합니까?
하지만 기본 버퍼 크기는 무엇입니까? 나는 그것이/proc/sys/net/ipv4/tcp_rmem과 tcp_wmem (리눅스를 가정 함)에 설정되어 있다고 가정합니다 ...
몇 가지 기본 용량 계획을 세우려고합니다. 512MB RAM의 VPS가 있고 OS 등이 ~ 100MB를 사용한다고 가정하면 내 응용 프로그램은 ~ 400MB로하고 싶어합니다. 연결된 각 클라이언트 (일반 TCP/IP 소켓)에 기본적으로 8KB (4KB 읽기, 4KB 쓰기)가 필요하면 400MB/8KB = ~ 50000 개의 클라이언트 용량이 있습니다.
[1] http://nodejs.org/docs/v0.4.7/api/all.html#socket.bufferSize
저는 여기에 대한 구체적인 내용을 걱정할 필요가 없다고 생각합니다. 올바른 위치에 있고 정확한 숫자가 25,000 또는 40,000 또는 60,000인지 여부에 상관없이 ___ 동시 대 _ 사용자의 수를 초과하면 VPS에서 조금 더 많은 메모리를 사용할 수 있습니다. P 너무 많은 연결이 열려있는 OS로 문제가 발생하기 시작하는 번호 –
물론 사실입니다. 난 그냥 최대 연결/호스트의 기본 숫자를 얻으려고하고 있어요. 제 계획은 클라이언트가 "클러스터"에 연결하기를 원할 때 이들 호스트를 다수 보유하고 가장 적게로드 된 호스트에 클라이언트를 연결하는 것입니다. 하지만 클라이언트 측 호스트가 더 필요할 때를 알 필요가 있습니다. 확실한 평균로드 및 기타 메트릭이 필요하지만 내 앱이 CPU에 묶여 있지 않아 언제 어떻게 성장할 지 결정하는 데있어 중요한 요소는 RAM입니다. 감사! – horton