Autonomous Database에서 DRCP(데이터베이스 상주 연결 풀링)를 사용할 수 있게 되었으므로 시도해 보자.

표제대로 Autonomous Database에서 DRCP(데이터베이스 상주 연결 풀링)를 사용할 수 있게 되었습니다.
사용하는 것도 매우 간단해서, 시험해 보자!彡(゚)(゚)

1. DRCP(데이터베이스 상주 연결 풀링)란?



Oracle Database는 멀티 프로세스 아키텍처이지만 연결시 일련의 처리 (프로세스 생성 등)가 고부하입니다.
이것을 보완하는 것이 커넥션 풀링입니다만, 일반적으로는 AP층에서 준비하는 커넥션 풀링을 DB층으로 구현한 것이 DRCP입니다.

5.2 데이터베이스 상주 연결 풀링 이해
htps : // / cs. 오 c. 이 m/cd/F19136_01/아d민/마나긴 gp 로세세 s. HTML#Gu D-B76E 57C-3F16-4C85-Ae F6-E14FC1B4777

2. Autonomous Database DRCP



Autonomous Database DRCP는 다음 설명서에 설명되어 있습니다.

Use Database Resident Connection Pooling with Autonomous Database
htps : // / cs. 오 c. 코 m / 엔 / c ぉ d / 파아 s / 아 tpc ぉ d / 아 t 푸 g / 이런 ct-drcp. HTML #Gu D-1337 C6-4 A78-4199-84F0-A2739055F3

사용법은 간단하고, 월렛의 접속 캐릭터 라인에 「(SERVER=POOLED)」를 써 넣는 것뿐입니다. 준비한 환경에, 다음과 같은 접속 캐릭터 라인을 copipe로 tnsnames.ora 에 기입해 보았습니다.
aysatp_tp_drcp = (description= (retry_count=20)(retry_delay=3)
(address=(protocol=tcps)(port=1522)(host=adb.xx-xxxxx-x.oraclecloud.com))
(connect_data=(service_name=xxxxxxxxxxxxxxxx_aysatp_tp.atp.oraclecloud.com)
(SERVER=POOLED))
^^^^^^^^^^^^^^^ここを書き足した
(security=(ssl_server_cert_dn="CN=adb.xx-xxxxx-x.oraclecloud.com,OU=Oracle ADB XXXXX,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))

3. DB 연결을 300회 반복하여 계측하는 쉘



DB 연결을 300회 반복하는 쉘을 작성해 걸린 시간을 계측해 봅니다.
#!/bin/bash

#log file
LOG_FILE="/home/opc/work/loopcon_$$.log"
: > ${LOG_FILE}

#start time
TIME1=`date +%s.%N`
echo ${TIME1} >> ${LOG_FILE}

#connection test
for i in `seq 1 300`
do
sqlplus /nolog << EOF >> /dev/null 2>&1
SET TIMING ON
CONNECT ADMIN/xxxxxxxxxxxxxx@aysatp_tp_drcp
SET TIMING OFF
EXIT
EOF
done;

#end time
TIME2=`date +%s.%N`
echo ${TIME2} >> ${LOG_FILE}

#duration
DURATION=`echo "${TIME2} - ${TIME1}" | bc`
echo "Duration is ${DURATION} sec." >> ${LOG_FILE}

시각 계산의 부분은, 아래의 기사를 참고로 하여 받았습니다.

date 명령을 사용하여 1초 미만의 프로그램 실행 시간 측정
htps : // 이 m / 또는 w / ms / 6d71d0b57 아 f57fc9059

4. DRCP 없음/있음으로의 접속 시간(300회)의 비율을 비교



실제로 걸린 시간을 직접 내면 여러가지 알레이므로, 접속 시간(300회)의 합계를 비율로 비교해 보겠습니다. 다음 환경에서 실행했습니다.

Public Compute(발판) → Private Compute(※) → SGW → ATP(18c)
※18.5 Instant Client, 코코에서 shell 실행

DRCP 없음시의 접속 시간(300회)을 100으로 했을 때, DRCP 있음 접속 시간(300회)의 비율을 내고 있습니다.
※아래는 개인이 독자 계측한 수치로, 이 수치를 그 외 환경에서 보증하는 것은 아닙니다.


흠, 25% 개선이라는 건가요? 또 한 목소리!彡(゚)(゚)

5. 정리



좀 더 개선할 것이라고 생각하면, DRCP로 좋아지는 프로세스 생성 이외의 처리가 무겁습니까. 암호화 부분이라든지……(゚ε゚ )
드물게 점점 좋아지는 Autonomous Database! 나온 당초 비율로, 접속 회리는 여러가지 개선되고 있는 느낌입니다. 체감입니다만, 막히기 어려워졌다.

여러분, Autonomous Database를 점점 사용해주세요

좋은 웹페이지 즐겨찾기