>  기사  >  백엔드 개발  >  PHP에 데이터베이스 연결 풀이 있습니까?

PHP에 데이터베이스 연결 풀이 있습니까?

王林
王林원래의
2019-10-10 11:52:315249검색

PHP에 데이터베이스 연결 풀이 있습니까?

php-cp(php-connect-pool)는 php 확장자로 작성된 데이터베이스 연결 풀입니다.

1. 시중의 다른 오픈소스 데이터베이스 미들웨어 제품과 다릅니다.

1. 애플리케이션 서버에서 실행되는 프록시 프로세스이므로 별도의 미들웨어 클러스터를 배포할 필요가 없습니다. 외부 종속성 계층으로 인해 아키텍처가 더 간단하고 깨끗하며 안정적으로 만들어집니다.

2. 더 높은 성능을 가지며 효율적인 IPC를 통해 PHP 프로세스와 통신하고 프로토콜 구문 분석 소비를 방지합니다.

3. redis와 mysql을 동시에 지원하므로 두 개의 별도 미들웨어 시스템을 배포할 필요가 없습니다.

2. 간단한 회로도

PHP에 데이터베이스 연결 풀이 있습니까?

3. 기술적 특징

1. 최대 및 최소 연결 수 구성을 지원합니다.

2. 저압 자동 복구 연결을 지원합니다(강도 및 주파수 구성 가능).

3. 원활한 재시작을 지원합니다.

4. 연결 고갈을 위한 대기열 메커니즘을 지원합니다.

5. mysql과 redis를 모두 지원합니다.

6. 간단한 프레임워크 통합(새로운 방법 수정) 후, 기존 사업에서는 코드 한 줄 변경 없이 연결 풀을 사용할 수 있습니다.

7. 사용할 수 없는 다운타임 IP 목록을 얻기 위해 get_disable_list 함수가 제공되므로 클라이언트 측에서도 로드 밸런싱을 수행할 수 있습니다(구성 파일의 모든 IP와 다운타임 IP 간의 차이, 이후 무작위화).

btw: LVS를 사용할 수도 있지만 LVS 전달은 시스템 아키텍처에 대한 종속성을 도입합니다. DR 모드는 네트워크 세그먼트를 교차할 수 없으며 백엔드 DB에 문제가 있는 경우 VIP만 알 수 있습니다. LVS.

8. 연결 풀 프로세스는 가동 중지 시간 목록을 모니터링하기 위해 ping 프로세스를 시작합니다.

9. 많은 최적화가 이루어졌습니다. 연결 풀 프로세스에 의해 전달되므로 기본적으로 qps 손실이 없습니다.

4. 사용 방법

1. pool.ini 파일을 /etc/에 넣고 필요에 따라 내부 구성을 수정합니다.

2. 에이전트 프로세스 시작

./pool_server start

"시작" "중지" "다시 시작" "다시 로드" 명령 지원

3 PHP 스크립트 수정

$db = new PDO(xxxxx);
修改成  $db = new pdo_connect_pool(xxxx);//dont use persistent
$redis = new Redis();
修改成 $redis = new redis_connect_pool();//dont use pconnect

팁:

$db/$redis-> 호출 ; 가능한 한 빨리 release()를 사용하여 이 프로세스가 사용하고 있는 연결을 풀로 해제합니다.

추천 튜토리얼: PHP 비디오 튜토리얼

위 내용은 PHP에 데이터베이스 연결 풀이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.