슈퍼 서버
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
슈퍼 서버는 필요에 따라 다른 서버들을 시작시켜주는 프로그램으로, 주로 TCP 래퍼를 통해 접근을 제어한다. 초기에는 적은 자원을 사용하며, 웹 개발, 클라이언트/서버 개발, SSH 등 낮은 트래픽의 데몬들을 위한 워크스테이션에 적합하다. 슈퍼 서버는 시스템 부하 경감, 시스템 관리 부하 경감, 시스템 여유도/견고성 향상 등의 장점을 제공하지만, 연결 요청 빈도가 높거나 프로그램 초기화 시간이 오래 걸리는 서비스의 경우 성능 저하를 유발할 수 있다. 대표적인 구현체로는 inetd, launchd, systemd, ucspi-tcp, xinetd 등이 있다.
더 읽어볼만한 페이지
- 서버 - 씨마이크로
씨마이크로는 2007년 설립되어 투자 유치 후 AMD에 인수된 서버 개발 회사로, SM10000, SM15000 시리즈 등의 제품을 개발하고 버라이즌과의 협력 및 여러 수상 경력을 보유하고 있다. - 서버 - 게임 서버
게임 서버는 온라인 게임에서 게임 로직 실행과 플레이어 간 상호작용을 관리하는 핵심 시스템으로, 운영 주체와 방식에 따라 게임 회사 직접 운영 방식과 사용자 직접 운영 방식으로 나뉘며, 성능, 안정성, 비용 면에서 장단점을 가진 다양한 형태로 구현될 수 있다. - 인터넷 프로토콜 기반 네트워크 소프트웨어 - 시스코 IOS
시스코 IOS는 시스코 시스템즈의 네트워크 장비 운영체제로, 라우터용으로 개발되어 다양한 하드웨어 기능과 네트워킹 프로토콜에 적응하며 CLI를 통해 네트워크 기능을 제어 및 관리할 수 있도록 설계되었고, IOS XR, IOS XE 등 후속 운영 체제가 등장했다. - 인터넷 프로토콜 기반 네트워크 소프트웨어 - 유즈넷
유즈넷은 1979년 구상된 분산 네트워크 기반 토론 시스템으로, 인터넷 커뮤니티의 효시로서 중요한 프로젝트의 시작에 기여했으나, 스팸 문제와 소셜 미디어 등장 등으로 쇠퇴하여 2024년 구글 그룹스가 지원을 중단하며 정보 접근성에 변화가 생겼다.
| 슈퍼 서버 | |
|---|---|
| 슈퍼 서버 | |
| 종류 | 컴퓨터 서버 |
| 용도 | 네트워크 서비스 제공 |
| 특징 | 높은 성능 안정성 가용성 |
| 구조 | |
| 하드웨어 | 다중 CPU 대용량 메모리 고속 네트워크 인터페이스 카드 |
| 소프트웨어 | 운영 체제 웹 서버 데이터베이스 기타 네트워크 서비스 소프트웨어 |
| 활용 분야 | |
| 웹 호스팅 | 웹사이트, 애플리케이션 호스팅 |
| 데이터베이스 서버 | 대규모 데이터 저장, 관리 |
| 게임 서버 | 온라인 게임 서비스 제공 |
| 스트리밍 서버 | 동영상, 음악 스트리밍 서비스 제공 |
| 클라우드 컴퓨팅 | 클라우드 서비스 인프라 |
| 장점 | |
| 높은 성능 | 많은 사용자, 트래픽 처리 가능 |
| 안정성 | 시스템 장애 최소화 |
| 가용성 | 서비스 중단 시간 최소화 |
| 확장성 | 필요에 따라 자원 추가 가능 |
| 단점 | |
| 높은 비용 | 초기 구축, 유지 보수 비용 부담 |
| 복잡한 관리 | 전문적인 관리 기술 필요 |
| 슈퍼 서버 구축 시 고려 사항 | |
| 하드웨어 선택 | 서비스 요구 사항 충족 |
| 소프트웨어 선택 | 안정성, 성능 고려 |
| 네트워크 구성 | 안정적인 네트워크 환경 구축 |
| 보안 | 보안 강화 |
| 모니터링 | 시스템 상태 지속적 감시 |
2. 사용
슈퍼 서버는 필요할 때 다른 서버들을 시작시켜 주며, 보통은 TCP 래퍼를 통해 접근을 제어한다. 초기 상태에서는 매우 적은 자원을 사용한다. 로컬 웹 개발, 클라이언트/서버 개발, 시큐어 셸 (SSH) 같이 때때로 사용되는 낮은 트래픽의 데몬들을 위한 워크스테이션에 적합하다.
하위 데몬에 접근할 때는 약간의 지연 시간이 존재한다. 그러므로 독립 실행형 서버와 비교하면, 특히 부하가 높을 때 성능이 떨어질 수 있다. hpa-tftpd 같은 일부 서버들은 자체 인터넷 소켓을 사용하고 리슨(listen)하여 이러한 성능 저하를 극복한다.[1]
슈퍼 서버 모드에서 서버 프로그램을 시작하면 다음과 같은 장점을 가진다.
3. 성능
서브 데몬을 구현하는 프로세스 생성은 서브 데몬에 대한 들어오는 연결이 도착할 때까지 지연된다. 이는 이미 실행 중인 프로세스에서 처리되는 연결과 비교하여 연결 처리에 지연을 초래한다.
이 지연이 들어오는 모든 연결에 대해 반복적으로 발생하는지 여부는 특정 서브 데몬의 설계에 따라 달라진다. 간단한 데몬은 일반적으로 각 들어오는 연결에 대해 별도의 서브 데몬 인스턴스(별개의 운영 체제 프로세스)를 시작한다. 이러한 요청당 프로세스 설계는 구현하기가 더 간단하지만, 일부 작업 부하에서는 여러 운영 체제 프로세스를 시작하는 데 따른 CPU 및 메모리 오버헤드가 바람직하지 않을 수 있다.
또는 단일 서브 데몬 프로세스가 여러 연결을 처리하도록 설계될 수 있다. 이 경우, "독립형" 서버와 유사한 성능을 보일 수 있다(서브 데몬에 대한 첫 번째 연결에 대한 일회성 지연 제외).[1]
4. 슈퍼 서버의 장점
4. 1. 시스템 부하 경감
개별 서버 프로그램을 독립 실행형 모드에서 시작하면 서버 프로그램은 각 메모리를 차지하기 때문에 많은 메모리를 필요로 한다. 그러나 그 서버 프로그램은 항상 사용할 수 있는 것은 아니다. 슈퍼 서버 모드로 부팅하면 슈퍼 서버가 서버 프로그램을 대신하여 메모리에 상주하며 포트를 모니터링한다. 그리고, 요청이 들어올 때 그 포트를 지원하는 서버 프로그램을 시작하기 때문에 메모리 사용량과 시스템의 부하를 줄일 수 있다.
4. 2. 시스템 관리 부하 경감
개별 서버 프로그램을 독립형 모드로 부팅하는 경우, 각 서버 프로그램을 개별적으로 관리해야 한다. 시스템 관리자는 앞으로도 수가 더 늘어날 것이므로 다양한 서버 프로그램에 대응해 나갈 필요가 있지만, 그 모든 것을 개별적으로 관리하는 것은 더 이상 비현실적이며, 중앙에서 관리 및 제어 할 수 있는 슈퍼 서버의 역할은 필수 기능이다.[1]
슈퍼 서버는 필요에 따라 다른 서버를 시작하며, 일반적으로 TCP 래퍼를 통해 접근 권한을 확인한다. 유휴 상태일 때는 매우 적은 자원을 사용한다. 이는 로컬 웹 개발, 클라이언트/서버 개발 또는 가끔 사용되는 트래픽이 적은 데몬 (예: 식별 및 SSH)에 사용되는 워크스테이션에 이상적일 수 있다.
4. 3. 시스템 여유도 / 견고성 향상
슈퍼 서버 모드에서 서버 프로그램을 시작하면, 서버 프로그램의 서비스가 어떠한 이유로 제대로 작동하지 않더라도 다음 요청에 의해 다시 시작되어 시스템 중복성/견고성을 향상시킬 수 있다.
5. 슈퍼 서버의 단점
슈퍼 서버는 요청을 수락할 때마다 서버 프로그램을 시작하고 종료하기 때문에, 연결 요청 빈도가 높거나 초기화 작업에 시간이 오래 걸리는 경우 서버 부하가 높아져 성능이 저하될 수 있다. 이러한 경우에는 독립형 모드로 시작하는 것이 효율적이다.[1]
서브 데몬을 구현하는 운영 체제 프로세스의 생성은 들어오는 연결이 도착할 때까지 지연된다. 이는 이미 실행 중인 프로세스에서 처리되는 연결과 비교하여 지연을 초래한다.
이러한 지연이 모든 연결에 대해 반복되는지는 서브 데몬의 설계에 따라 다르다. 간단한 데몬은 각 연결마다 별도의 서브 데몬 인스턴스(별개의 운영 체제 프로세스)를 시작해야 한다. 요청당 프로세스 설계는 구현이 간단하지만, CPU 및 메모리 오버헤드가 발생할 수 있다.
반면, 단일 서브 데몬 운영 체제 프로세스가 여러 연결을 처리하도록 설계하면 "독립형" 서버와 유사한 성능을 낼 수 있다(첫 연결에 대한 일회성 지연 제외).
5. 1. 빈번한 연결 요청
연결 요청 빈도가 높은 서비스(예: 웹 서버)의 경우, 슈퍼 서버는 매 요청마다 서버 프로그램을 시작하고 종료해야 하므로 오버헤드가 발생한다.[1] 메일 서버도 빈번한 연결 요청을 처리하므로 독립 실행형 모드로 부팅하는 것이 권장된다.[1]5. 2. 초기화 작업 시간
프로그램 부팅 시 초기화 작업에 시간이 오래 걸리는 경우, 슈퍼 서버는 매 요청마다 초기화 작업을 반복해야 하므로 성능이 저하된다.[1]6. 구현
| 이름 |
|---|
| inetd |
| launchd |
| systemd |
| ucspi-tcp |
| xinetd |
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com