2011-01-30 2 views
0

일부 Drupal 사이트의로드 밸런스, 정확히 동일한 사이트를 실행하는 서버 2 개, 액세스하는 다른 서버에서 실행되는 DB 및로드 밸런서가 실행될 다른 서버에서 실행 중입니다.고정 세션 대 공유 위치

나는이 guide을 따르고 있는데, 그 끈적한 세션 부분에 대해 궁금해했다. 나는 두 개의 drupal 서버가 액세스하는 NAS에 저장된 모든 정적 데이터를 공유하고 있기 때문에 두 drupal 서버의 PHP.ini에서 정의하지 않는 이유는 무엇인가? sticky 세션을 사용하는 대신 해당 NAS의 일부 위치에 대한 session.save_path? 그게 효과가 있니?

그 장단점은 무엇입니까? 덕분에 !

답변

0

이제 어느 서버에서든 세션에 액세스하려면 Drupal 서버의 메모리에 세션을 유지하는 것과 달리 NAS에 네트워크 요청을해야합니다. 기본적으로 느립니다.

빠른 접근 방법은 응용 프로그램에서 Session을 완전히 제거하고 속도 향상과 관리 이점을 누리는 것입니다.

또는 고정 세션을 사용할 수 있지만 서버 팜 관리가 어려워집니다.

+0

답장을 보내 주셔서 감사합니다. 세션을 완전히 제거 하시겠습니까? 어떻게 될까요? 내가 그 제안을 이해하는지 모르겠다. :) – Julien

+0

응용 프로그램의 구성 요소간에 다른 매개 변수 전달 메서드를 사용해야합니다. 따라서 A 페이지가 B 페이지에 정보를 전달하기를 원할 경우 : query params, post params, cookies, db store 또는 Session 이외의 다른 방법을 사용해야합니다. 또는 모든 웹 서버에서 액세스 할 수있는 데이터 저장소에 세션을 푸시하는 것이 좋습니다. Memcached를 사용하지 마십시오. 고통이 계속됩니다. –

+0

memcached는 캐시로 완벽하게 유효한 솔루션입니다. – arnaud576875

0

이에 대한 거의 정식적인 대답은 memcached입니다. 둘 이상의 웹 프론트 엔드가있는 경우 세션을 저장하는 방법입니다. 일단 캐시를 사용하면 속도를 위해 탐색을 시작할 수 있습니다.

+0

이것은 정말로 나쁜 생각입니다. memcached는 캐시 저장소이며 키를 만료시킬 수있는 이유는 여러 가지입니다. 사용자를 로그 아웃하여 실제로 문제가 될 수 있습니다. Memcached는 종종 세션의 캐시로 사용되지만 주 세션 저장 장치로는 사용되지 않습니다. memcached의 저자가 [this] (http://dormando.livejournal.com/495593.html)를 읽어주십시오. – arnaud576875

+0

나는 mongodb를 제안하고 싶지 않았다 :) downvoting은 IMO가 완전히 근거가 없다. memcached의 저자의 경고에도 불구하고 모두 속도상의 이유로 memcached에 자신의 세션을 저장하고있다. 로그 아웃하는 데에는 여러 가지 이유가있을 수 있습니다 (예 : 브라우저가 손상되어 세션 쿠키를 작성하지 않은 경우). 따라서 절충안은 끔찍한 것이 아닙니다. – chx

+1

누구와 같은 사람인지에 대한 참조를 제공 할 수 있다면 ++에요? –