현재 특정 팀의 하키 게임 중에 사람들이 열 수있는 웹 사이트가 있습니다. 하키 팀이 점수를 매기면 지정된 사람이 안전한 위치에있는 버튼을 클릭합니다. MySQL 데이터베이스의 단일 항목을 현재 타임 스탬프로 업데이트합니다.수백 명의 사용자가 매 순간 액세스 할 수있는 PHP 변수를 저장하는 방법은 무엇입니까?
웹 사이트의 프런트 엔드에는 데이터베이스에 해당 타임 스탬프를 쿼리하는 PHP 스크립트에 15 초마다 실행되는 비동기 호출이 있습니다. 그런 다음 스크립트는 현재 시간을 가져온 타임 스탬프와 비교하고 현재 타임 스탬프보다 15 초 이내에있는 경우 웹 페이지에서 에어 혼 소리를 재생하고 팀의 목표 곡을 짧은 클립으로 재생하는 이벤트를 트리거합니다.
일반적으로 팀 게임 중에 나는 많은 양의 트래픽을 얻지 만, 많은 사람들은 사운드가 트리거되기 위해 목표 점수를 매긴 후 (최대) 15 초 지연에 대해 불평합니다. 그 문제를 해결할 방법을 찾고 싶습니다.
분명히, 나는 페이지에있는 모든 단일 사용자에 대해 데이터베이스를 1 초마다 쿼리한다고 생각하지 않습니다. 내 데이터베이스를 죽일 것 같아. 그래서, 내 결과를 얻을 수있는 또 다른 방법이 있습니까? 데이터베이스 또는 파일 시스템 읽기를 사용하는 부정적인 결과없이 각 세션에서 가져올 수있는 PHP 변수를 서버 메모리에 배치 할 수 있습니까?
편집 : 내 호스트에 사용할 수있는 memcached
이 없으며 설치할 수 없습니다. 그것은 그것이 최적의 솔루션이었을 것처럼 들리므로 실망 스럽습니다. 누구든지 내가 볼 수있는 대안 아이디어가 memcached
을 사용하지 않는가?
+1. 내가 말할 수있는 한 다른 대답보다 훨씬 좋지만 여전히 반복적 인 재 연결이 필요합니다. 아! –
@Tomalak Geret'kal 오히려 그의 서버가 많은 동시 연결을 처리 할 수 있는지 여부에 달려 있지 않습니까? –
@middaparka :별로. 너가 그 (것)들을 피할 수있는 경우에, 왜 너는 않? 대기 시간 및 폴링/샘플 속도의 문제/문제/질문은 존재하지 않습니다. –