내 세션을 처리하기 위해 별도의 데이터베이스를 사용해야하는지 여부에 대한 조언을 찾고 있습니다.세션을 처리하기위한 다른 데이터베이스 ... 올바른 일을하고 있습니까?
여러 사용자가 로그인하여 계정 별 정보를 확인/업데이트 할 수있는 웹 앱을 작성 중입니다. 우리는 세션 정보를 저장하기 위해 웹 서버에서 파일 저장 방법을 사용하고 싶지 않았기 때문에 데이터베이스 (MySQL)를 사용하기로 결정했습니다. 괜찮 으면 좋겠지 만 생산에 들어갈 때 성능에 대해 궁금해합니다.
현재 두 개의 데이터베이스 (rst_sessions 및 rst)가 있습니다. "RST"데이터베이스는 모든 테이블이 webapp 용으로 저장되는 곳입니다 ... 그들은 테이블을 연결하기 위해 참조 무결성/외래 키를 사용하는 모든 MYSQL InnoDB입니다. "RST_SESSIONS"데이터베이스에는 단순히 하나의 테이블이 있으며 모든 세션 정보가 거기에 저장됩니다.
내 관심사 중 하나입니다. PHP 코드에서 "RST"에 대한 쿼리를 실행하려면 PHP 내부에서 데이터베이스를 선택해야합니다 ($ db-> select ("RST")) ... 쿼리가 끝나면 "RST_SESSIONS"($ db-> select ("RST_SESSIONS"))를 다시 선택해야합니다. 그렇지 않으면 세션 특정 정보가 설정되지 않습니다. 그래서, webapp을 통해 코드는 두 개의 데이터베이스를 선택하고 재 선택하는 작업을 많이하고 있습니다. 이로 인해 사용자 기반 (10,000 - 15,000)의 성능 문제가 발생할 가능성이 있습니까? 모든 선택을 피하기 위해 RST_SESSIONS 테이블을 RST 데이터베이스로 옮기는 것이 더 좋을까요?
우리가 처음 이런 식으로 설정 한 이유 중 하나는 별도의 데이터베이스 서버에 세션 정보를 저장할 수있어서 웹 응용 프로그램 데이터베이스의 작업을 방해하지 않았기 때문입니다.
두 가지 방법의 장점과 단점은 무엇이며 우리는 성능 향상을 위해 무엇을 제안합니까? 미리 감사드립니다.
감사합니다. memcached를 살펴볼 것입니다 ... db 연결이 필요없고 디스크에 손댈 수없는 좋은 방법 같아요. 디스크를 어떻게 사용할 수 있는지 더 읽으 려합니다. – Ronedog