문제

Apache, lighttpd 또는 nginx와 같은 웹 서버에서 HTTP 기본 인증을 사용하면 성능에 어떤 영향을 미치는지 궁금합니다.병목 현상은 사용자를 인증하기 위해 서버에서 파일을 실제로 읽는 것이라고 생각합니다.또한 사용자를 인증하기 위해 파일을 읽는 비용은 해당 파일의 사용자 수에 비례하는 것 같습니다.

내가 가진 질문은 다음과 같습니다:
1.파일을 통한 기본 인증이 급격히 떨어지기 시작하는 특정 사용자 수가 있습니까? 아니면 파일의 사용자 수에 비례하여 선형적으로 발생합니까?
2.http의 상태 비저장 특성을 고려하여 사용자가 하나의 요청에 대해 웹 서버에서 HTTP 기본 인증을 사용하여 인증된 경우:
- 모든 요청에 ​​대해 단순히 자격 증명을 전달하고 웹 서버는 이것이 유효한 사용자의 요청인지 확인하기 위해 매번 비밀번호 파일을 구문 분석해야 합니까?
또는
- 후속 요청의 http 헤더에서 사용하는 토큰과 같은 것을 얻으면 서버가 비밀번호 파일을 다시 구문 분석하지 않아도 됩니다.

미리 감사드립니다

도움이 되었습니까?

해결책

  1. 선형적으로 상대적입니다.나는 걱정하지 않을 것이다.HTTP 기본 인증은 확장 가능한 것으로 입증되었습니다.Twitter API를 예로 들어 보겠습니다.기본 인증을 사용합니다.

  2. "HTTP 프로토콜은 상태 비저장(stateless)이기 때문에 각 요청이 동일한 클라이언트에서 왔더라도 동일한 방식으로 처리됩니다.즉, 서버에서 요청된 모든 리소스는 리소스를 받기 위해 다시 인증 자격 증명을 제공해야 합니다.다행스럽게도 브라우저가 여기의 세부 사항을 처리하므로 브라우저 세션당 한 번만 사용자 이름과 비밀번호를 입력하면 됩니다. 즉, 다음에 브라우저를 열고 방문할 때 다시 입력해야 할 수도 있습니다. 같은 웹사이트야."

자세한 정보는 Apache 인증 문서.

다른 팁

내 경험은 Apache 2.x에서만 발생합니다.

  1. 예.이는 기본 인증 공급자(파일)와 선형적입니다.그것은 사용한다 ap_cfg_getline() 따라서 라인 수(사용자)에 선형적입니다.
  2. 예.mod_aaa는 매번 비밀번호를 구문 분석해야 합니다.당신은 다음과 같은 것을 사용할 수 있습니다 MemCookie 쿠키 또는 토큰 기반 인증의 경우.

로그온 시 파일을 한 번 구문 분석하면 사용자 수에 관계없이 꽤 잘 확장됩니다.나는 정말로 그것에 대해 걱정하지 않을 것입니다.앞으로는 적절한 인덱싱을 통해 데이터베이스 기반 접근 방식을 개발할 수 있습니다.나는 당신이 사이트를 개발하면서 겪게 될 모든 병목 현상을 의심합니다. 웹 서버의 성능이 크게 저하되지 않는 한 기본 인증은 아주 오랫동안 병목 현상 중 하나가 되지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top