아마존 클라우드 AWS 라이트세일 서버리스 DBMS - MySQL8 의 설정 값에 대한 것입니다.
먼저 CPU의 성능에 대한 기준이 어떤것인지 모르겠지만 인스턴스쪽과 비교를 하면 램과 CPU의 선택에 있어서 DBMS쪽이 비싸 보이는데 CPU의 속도에 대해선 모르겠습니다.
최근들어 우선 사용하게 하는것이 목적인듯해 보이는데요. 3개월 무료 붙은것들이 보입니다. 인스턴스 쪽도 3개월 무료가 있습니다.
그리고 다른 특징으로는 전송량에 대한 부분이 있습니다. 정해진 양 이상을 사용하게 되면 느려질 수 있다고 합니다.
CPU는 2개만 있으면 RAM 용량이 올라갈 수도록 가격이 삐싸지면서 대신 사용 가능한 디스크 용량과 전송량이 늘어 납니다.
즉, 속도에대한 월등한 기대는 없을 것이라고 보면 되겠습니다.
속도에 대한것을 논하자면 이것도 여러가지를 감안해야 하지만 말입니다. 조건등. 생각보다 복잡 합니다.
● 그럼 서버리스 DMBS 사용하는것이 맞느냐?
위 기본서비스 이외에 고가용성(2중화) 서비스를 사용하게 되면 안전성이 올라가기 때문에 가치는 있어 보입니다. 하지만 그런것이 아니라면 인스턴스에 약간의 설정을 하여 사용하는것과 어떤 차이가 있을지는 의문이 들기도 합니다.
● DBMS 생성속도
빠른편은 아닙니다. 생성을 누르고 약간(10분 정도?)는 기다려야 합니다. 그리고 퍼블릭으로 네트워크 환경을 수정한다든가 하면 그것도 생각보다는 오래 걸린다는 느낌을 가지게 됩니다.
if ( $MODE == 'write_json' )
{
exit;
$host = 'ls-aa87022b5212fe7537c38c2930052a29264ed697.ckx7ymuahnxb.ap-northeast-2.rds.amazonaws.com';
$oMysqli = mysqli_connect($host, 'dbmasteruser', 'g?9;(&0q1*%soo5CbJ%Jb?_2h3Hnew(v', '', 3306);
$aCpu2Ram1 = get_val_array( 'variables', $oMysqli );
// print_r($aCpu2Ram1); exit;
$host = 'ls-cb864be6df3510de65a322c0d1cefb63f59a2e29.ckx7ymuahnxb.ap-northeast-2.rds.amazonaws.com';
$oMysqli = mysqli_connect($host, 'dbmasteruser', '0TWt1e4U;&D|SU9e.ljta3N.^c(%TkdS', '', 3306);
$aCpu2Ram2 = get_val_array( 'variables', $oMysqli );
// print_r($aCpu2Ram2); exit;
$host = 'ls-2195da73298c42bf5c6dd25ef4c1cd9c8b572929.ckx7ymuahnxb.ap-northeast-2.rds.amazonaws.com';
$oMysqli = mysqli_connect($host, 'dbmasteruser', '2ADkTqX?%iGe<2U`yYZ?yZRD9_Q%)yXo', '', 3306);
$aCpu2Ram4 = get_val_array( 'variables', $oMysqli );
print_r($aCpu2Ram4); exit;
$host = 'ls-65512d3a99f5bbf6cb245bdc6d9cc56d4238293f.ckx7ymuahnxb.ap-northeast-2.rds.amazonaws.com';
$oMysqli = mysqli_connect($host, 'dbmasteruser', ',glP.%p_tc.`bCuH8]+!D5UoRX~UX*54', '', 3306);
$aCpu2Ram8 = get_val_array( 'variables', $oMysqli );
$aDiff = array_diff($aCpu2Ram1, $aCpu2Ram2);
$aDiff = array_diff($aCpu2Ram1, $aCpu2Ram4);
print_r($aDiff);
$wrtSize1 = file_put_contents("./aws_lightsail_dbms/cpu2ram1.json", json_encode($aCpu2Ram1));
$wrtSize2 = file_put_contents("./aws_lightsail_dbms/cpu2ram2.json", json_encode($aCpu2Ram2));
$wrtSize4 = file_put_contents("./aws_lightsail_dbms/cpu2ram4.json", json_encode($aCpu2Ram4));
$wrtSize8 = file_put_contents("./aws_lightsail_dbms/cpu2ram8.json", json_encode($aCpu2Ram8));
//echo date('Y-m-d H:i:s ') . "$HOST_NAME $wrtSize: $wrtFile \n";
exit;
}
elseif ( $MODE == 'read_json' ) {
$aCpu2Ram1 = json_decode(file_get_contents('./aws_lightsail_dbms/cpu2ram1.json'), true);
$aCpu2Ram2 = json_decode(file_get_contents('./aws_lightsail_dbms/cpu2ram2.json'), true);
$aCpu2Ram4 = json_decode(file_get_contents('./aws_lightsail_dbms/cpu2ram4.json'), true);
$aCpu2Ram8 = json_decode(file_get_contents('./aws_lightsail_dbms/cpu2ram8.json'), true);
// print_r($aCpu2Ram1); exit;
foreach( $aCpu2Ram1 as $akey => $aval ) {
$aval2 = $aCpu2Ram4[$akey];
if ( $aval != $aval2 ) {
echo $akey . ': ' . $aval . ' - ' . $aval2 . "\n";
}
// foreach( $aCpu2Ram2 as $akey => $aval ) {
// }
}
}
이용 요금은 시간당 계산 되기 때문에 필요 하다면 저 처럼 모두 생성한 다음 설정 값을 확인해 볼 수 있습니다.
생성중 -> 다음에 보게된것이 위 화면 입니다. 그리고 조금 있으니 사용 가능하였는데 기다리는 시간이 약간 있습니다.
아래는 일반적인 이노디비의 설정 값입니다.
● 1CPU RAM 2G
innodb_buffer_pool_chunk_size=128M
innodb_buffer_pool_size=256M
innodb_log_file_size=1024M
innodb_buffer_pool_instances=1
innodb_online_alter_log_max_size=256M
innodb_page_cleaners=1
● 2CPU RAM 4G
innodb_buffer_pool_chunk_size=200M
innodb_buffer_pool_size=1512M
innodb_log_file_size=1024M
innodb_buffer_pool_instances=8
innodb_online_alter_log_max_size=512M
innodb_page_cleaners=4
* 참고하면 조은글
- MySQL 이노디비 튜닝 포인트 관련된것 > 리눅스서버
- [MySQL] 이노디비(InnoDB) 메모리 사용 환경설정 > 리눅스서버 - 세션메모리, 글로벌메모리 사용에 대한것