로드 밸런서 유형이 어떤지 잘 모르겠지만 연결 유지 연결을 사용할 수 없다고 생각하지 않습니다.
부하 분산 장치는 백엔드 서버 중 하나에 들어오는 각 연결을 처리합니다. 이제 각 객체에 대해 브라우저는 해당 객체를 가져 오기 위해 새로운 연결을 생성해야합니다 (예 : 모든 작은 이미지). TCP 연결을 설정하고 닫는 데는 어느 정도 시간이 걸립니다. 이것이 Google Page Speed가 연결 유지 기능을 사용하도록 제안한 이유입니다. 또 다른 옵션은 모든 작은 이미지를 하나의 큰 이미지에 넣고 CSS 스프라이트를 사용하여 페이지의 다른 위치에 부분을 표시하는 것입니다.
하지만 다시로드 밸런서로. 네트워크로드 밸런서가있는 경우 질문없이 작동해야합니다. 들어오는 TCP 연결을 백엔드 서버 중 하나로 리다이렉트합니다. HTTP로드 밸런서를 사용하는 경우 연결을 허용하고 요청을 읽고 요청을 백엔드 서버로 보내고 응답 할 때까지 기다렸다가 응답을 브라우저로 다시 보냅니다. 연결 유지를 활성화하면로드 밸런서는 동일한 연결을 통해 수신되는 다음 요청을 전달해야합니다.
동적 페이지의 경우 연결 유지가 필요하지 않습니다. Keep-alive는 일반적으로 정적 컨텐츠 (js, images, css)에 유용합니다. 일반적으로 10 개 이상의 정적 오브젝트가있는 각 html 페이지와 같습니다. 그래서로드 밸런서를 계속 사용하고 다른 호스트 이름 (static.example.com)을 통해 정적 컨텐츠를 제공하는 것이 좋습니다.
HAProxy로 전환하고 HTTP 영구 연결을 사용하도록 설정합니다. :) – bzlm
실제로 성능 차이가 발생하거나 응답 헤더에 연결 유지를 설정합니까? –
HTTP 지속 연결이 정확히 무엇인지 모르는 경우 백엔드 개발자와 시스템 관리자에게 HTTP 연결을 구현하도록 요청하지 않아야합니다. – bzlm