내 응용 프로그램은 최대 25 개의 MySQL 동시 연결로 공유 호스팅 공급자에서 호스팅됩니다. 아래는 DB에 연결하기위한 코드입니다.mysql 연결 디자인 및 동시 연결
function dbConnect() {
$dbHost = 'localhost';
$dbUser = 'user';
$dbPass = 'pass';
$dbName = 'dbase';
mysql_connect($dbHost, $dbUser, $dbPass)or die(mysql_error());
mysql_select_db($dbName) or die(mysql_error());
}
내 응용 프로그램은 데이터베이스 쿼리에 더 의존합니다. 홈 페이지에는 적어도 20 개의 mysq_query가 있습니다. 내 홈 페이지를 코딩하는 방법은
include 'config.php';
dbConnect();
쿼리 1 이하 ... // 여러 쿼리
쿼리 1 ... // 처리 결과 발생 초기 변수
공정 변수를 얻을처럼
QUERY3 ... // 처리 결과
등 최대 ....
query 20 ... // 처리 결과
대부분의 쿼리는 대부분 다른 쿼리의 전제 조건입니다. 매일 적어도 1000 명의 사용자가있을 것으로 예상하고 있으며, 사용자의 50 %가 동일한 시간에 또는 가장 적은 초 간격으로 연결할 가능성이 있습니다.
- DB에 연결하면 연결 제한이 쉽게 설정됩니까?
- php는 쿼리 직후에 연결을 닫습니까? 즉, 첫 번째 쿼리가 끝난 후 닫히고, 두 번째로 열리고, 다시 닫히고, 바로 다음에 닫힙니다. 연결을 직접 닫지 않아도됩니다.
- 위의 시나리오가 20 개의 동시 연결을 자동으로 소비했다는 가정하에 올바른지 확인하십시오.
미리 감사드립니다.
[PDO] (http://php.net/manual/en/book.pdo.php) (즉, 서버에 제공되는 경우)를 사용하십시오. 'mysql_' 함수를 사용하지 마십시오 ('mysqli_' 패밀리가 그보다 약간 더 낫습니다). –
시스템을 통한 모든 요청에 대해 20 개의 쿼리 (적어도)를 수행해야 할 경우 요청자 (사용자)가 캐시 할 수있는 데이터베이스에 저장된 데이터를 가능한 한 세션에 캐시해야합니다. 다행히도 데이터 스키마가 설계되지 않았으므로 그렇게 할 수 없습니다. –
그리고 [연결 풀링] (http://php.net/manual/en/mysqlnd-ms.pooling.php)을 이용할 수 있기를 바랍니다. –