아핫뉴스실시간 인기검색어
아핫뉴스 화산 이미지
아하

생활

생활꿀팁

우아한재규어285
우아한재규어285

node.js 의 싱글스레드로 동시에 수많은 요청을 처리하는것이 가능한가요?

node.js 가 요청을 받아 처리하는 방식이 싱글스레드가 돌면서 클라이언트의 요청을 받으면 요청받은 io작업을 작업스레드에 위임하는 방식으로 알고있는데 여기서 의문이 만약 node.js로 만들어진 서버에 동시에 40만의 유저가 접속한다고 가정하면 과부하 없이 가능한가요?

    55글자 더 채워주세요.
    1개의 답변이 있어요!
    • 파란여새275
      파란여새275

      nodejs는 서버부담 없이 많은 수의 동시접속자 수를 다룰 수 있는 언어입니다.

      그래서 채팅 서비스의 언어로 많이 사용됩니다.

      가장 큰 장점이 많은 수의 동시접속자를 적은 서버자원으로 유지할 수 있다는 것입니다.

      하지만 node js를 처음 사용하시는 분들은 몇 명 접속하지 않앗는데도 cpu 자원이 100%에 달하는 것을 보실 수 있습니다.

      적게는 약 1000~2000명 정도의 동시접속자수 임에도 cpu가 뻗어 버리는 경우가 있습니다.

      에러 로그를 살펴보시면 대부분 'Too many open files (24)'에러를 뿜어내고 있을 것입니다.

      node js의 문제나 서버자원의 문제가 아니라 '서버 설정'의 문제입니다.

      동시에 처리할 수 있는 파일 갯수가 기본적으로 제한되어 있는데 이 설정을 늘려주시면 됩니다.

      크지 않은 규모라면 대략적으로 값을 지정해도 무관합니다.

      감사합니다.