초당 20k mysql 인서 션을 수행하려면 어떻게해야합니까? (느린 시간에는 최대 시간 1k/초 동안)? 나는 약간의 연구를 해왔고 "INSERT DELAYED"제안을 보았고 플랫 파일에 "fopen (file, 'a')"라고 쓰고 chron 작업을 실행하여 "필요한"데이터를 mysql, 등등. 나는 또한 당신이 들어 본 적이없는 여러 서버와 "로드 밸런서"가 필요하다고 들었습니다. 나는 또한이 "클라우드 서버"와 같은 것들을 보았고, 자동 확장 성을 보였지만 실제로 확장성에 대해서는 확신하지 못했습니다.베스트 프랙티스, 일일 노출 수를 수백만 회 추적하는 PHP
응용 프로그램은 추적 스크립트 일 뿐이므로 하루에 300 만 페이지로드가 발생하는 웹 사이트가 100 개있는 경우 하루에 약 3 억 회의 삽입이 발생하게됩니다. 데이터는 매 15-30 분마다 실행되는 스크립트를 통해 실행되어 데이터를 정상화하고 다른 mysql 테이블에 삽입합니다.
큰 개는 어떻게합니까? 작은 개들은 어떻게합니까? 나는 거대한 서버를 더 이상 가질 여유가 없기 때문에 어떤 직관적 인 방법이라도 여러 가지 방법이 있다면 똑똑한 사람들은 나를 생각해 볼 수 있습니다. :)
저는 n00b입니다.하지만 왜 20k ins/초가 필요한지 알 수 없습니까? PHP 내의 배열에 많은 수의 데이터를 저장 한 다음 looooooooooong mysql 쿼리 문자열을 한 번에 한 행씩 (n) 개씩 삽입 할 수는 없습니까? 그럴 경우 원시 삽입 수가 줄어 듭니다. 나는 처리 시간이 여전히 문제라고 생각한다. :/ – Drew
내가 읽은 것으로부터, 하나의 스크립트에서 20K/초가 아닙니다. 하지만, 20K/초는 여러 요청에서 왔습니다. – ariefbayu
사이트를 실제로 개발하지 않았고 현재 예상 트래픽의 일부만받는 경우에는 필요에 따라 확장 및 확장을 시작할 때까지 최적화에 대한 자세한 내용을 염려하지 마십시오. 개발의 가장 큰 함정 중 하나는 실제로 필요하기 전에 최적화를 과도하게 지나치는 것입니다. 큰 물고기의 대부분은 작은 연못에서 시작되었습니다. 그냥 내 추천. –