You are on page 1of 15

<타겟 ssd 변경방법>

<과정1> usr.sbin.mysqld 내용 수정

<과정2> 42, 43번째 줄에 있는 /ssdc/mysql/ r, , /ssdc/mysql/** rwk, 내용을


타겟 ssd 폴더 (ssda,ssdb,ssdc,ssdd,ssde로 변경)

Created by seounghun,jeong // 4uwingnet@gmail.com


<과정3> my.cnf 파일 내용 수정

<과정4> 40번째 줄의 datadir! = /ssdc/mysql 의 내용을 타겟 ssd의 폴더로 변경한다.

Created by seounghun,jeong // 4uwingnet@gmail.com


<과정5> 104번째 줄의 0M를 원하는 버퍼풀메모리 크기로 변경한다.

<과정6> /home/dakelab/seoung/mysql_ware100 폴더에 저장되어있는 mysql 폴더를 타겟


ssd폴더 (/ssda, /ssdb, /ssdc, /ssdd ...)으로 복사한다.

why? ) warehouse생성시 시간이 너무 오래 걸리므로, 기존에 생성된 ware100 데이터를 그


대로 타겟 ssd폴더에 복사해서 사용한다.

참고) 루트권한에서 작업한다.

Created by seounghun,jeong // 4uwingnet@gmail.com


<과정7> 복사된 mysql 폴더의 권한을 변경한다.
chown -R mysql.mysql mysql
chmod -R 700 mysql

참고) 루트모드에서 작업한다.

<과정8> apparmor와 mysql을 재시작한다.


mysql 재시작시 fail이 나는 경우 타겟 ssd폴더의 권한을 확인한다.
올바르게 mysql 폴더가 복사되었는지 확인한다.
apparmor가 먼저 재시작 되었는지 확인한다.

Created by seounghun,jeong // 4uwingnet@gmail.com


<Hammerora / Blktrace 수행>

<과정1> /home/dakelab/hammerora-2.11 폴더에 있는 hammerora.tcl 파일을 실행한다.

<과정2> 해머오라를 실행한 후 왼쪽에 MySql을 더블클릭 한다.


그러면 위의 그림과 같이 벤치마크 옵션 창이 뜨는데 MySQL, TPC-C로 설정 후 OK

Created by seounghun,jeong // 4uwingnet@gmail.com


<과정3> Driver Script에서 Options을 더블클릭한다.
참고) Script Editor를 현재 아무런 내용이 없는 상태이다.

<과정4> Total Transactions per USer 를 설정한다. (화면에서는 100으로 설정되어있음)

Created by seounghun,jeong // 4uwingnet@gmail.com


<과정5> 과정4에서 OK를 누르면 다음과 같은 스크립트가 생성된다.

<과정6> Virtual User 에서 Options을 더블클릭한다.

Created by seounghun,jeong // 4uwingnet@gmail.com


<과정7> Virtual Users의 수를 설정한다. (위의 그림에서는 30으로 설정)

<과정8> 과정7에서 OK를 누르고 Options밑에 있는 Create를 더블클릭하면 다음과 같은 상


태가 된다.
참고) 빨간 네모칸의 화살표를 누르면 TPC-C 테스트가 수행된다.

Created by seounghun,jeong // 4uwingnet@gmail.com


<과정9> blktrace 결과파일을 생성하고 싶은 폴더 위치로 이동한다. 그리고
sudo blktrace -d /dev/sdc -a complete -o - | blkparse -i - -o ocz_ware100_user30_tran100_mem0_1.txt
를 입력한다.

참고) /dev/sdc 는 타겟 ssd의 위치이다.


참고) ocz_ware100_user30_tran100_mem0_1.txt 는 결과를 저장할 파일명이다.
참고) -a complete 는 complete만 mask하는 명령어이다.

<과정10> 과정9 에서 Enter를 치면 위의 그림과 같은 상태가 된다. 이때 blktrace는 block I/


O 정보를 수집하고 있는 상태가 된다.

Created by seounghun,jeong // 4uwingnet@gmail.com


<과정11> blktrace가 동작중인 상태에서 빨간 네모안의 화살표를 누른다. 그러면 TPC-C 테
스트가 수행된다.

<과정12> 화살표를 누르면 다음과 같은 화면이 나오고, Status가 초록색 체크표시로 변하


는 것을 확인할 수 있다.

Created by seounghun,jeong // 4uwingnet@gmail.com


<과정13> TPC-C 테스트가 완료된 모습이다. 클릭한 초록화살표가 다시 활성화가 되며
COMPLETE를 확인할 수 있다. 그리고 빨간 네모안에 있는 버튼을 클릭한다.

why?) 빨간네모안의 버튼을 클릭해야 화면 왼쪽에 있는 Schema Build, Driver Script,


Virtual User 등이 활성화 된다.

<과정14> 과정13을 수행하면 다음과 같은 화면을 확인할 수 있다.

Created by seounghun,jeong // 4uwingnet@gmail.com


<과정15> 해머오라가 종료되고 약 20초 후 실행하고 있는 blktrace 를 종료한다. (Ctrl + C)
그리고 vi 를 통해 생성된 txt 가 올바르게 데이터가 적혀있는지 확인한다.

why?) /dev/sdc 를 잘못 설정한 경우 텅텅 비어있는 결과파일을 볼 수 있다.

<과정16> mysql 을 재시작 한다.

Created by seounghun,jeong // 4uwingnet@gmail.com


<Hammerora 반복 수행하기>

<과정17> blktrace를 종료하고, mysql을 재시작 한 후에 다시 해머오라 창으로 돌아온다.


그리고 방금 눌렀던 빨간버튼(?)이 위의 그림과 같이 사람 모양으로 변해있는 것을 확인할
수 있다. 이 버튼을 클릭해서 다시 User를 생성한다.

<과정18> 유저를 생성하면, 과정11과 같은 그림을 확인할 수 있다. (Options밑에 있는


Create를 더블클릭을 해서 수행해도 된다.)

Created by seounghun,jeong // 4uwingnet@gmail.com


<과정19> blktrace를 실행한다. 자세한 과정은 과정9 ~ 과정10을 참고한다.

<과정20> blktrace가 실행중인 상태에서 빨간네모안 버튼을 클릭한다. 과정11과 동일하다.

이 후 과정들은 과정12~과정16 과 동일하다.

Created by seounghun,jeong // 4uwingnet@gmail.com


그 후 열심히 과정17~과정20 을 반복한다.

만약 my.cnf 내용의 변경(타겟 ssd변경수정, 메모리변경 등등)이 수행되면 반드시 mysql을


재시작 하도록 한다. apparomor 내용이 수정될 경우도 반드시 apparomor을 재시작 하도록
한다.

Tip)
Blktrace 를 실행시킨 후 TPC-C 테스트를 수행할 때 가능한 빠르게 작업을 수행하는 것이
좋다. 왜냐하면 Blktrace 결과파일에서 time은 I/O 가 발생한 최초시간을 기준으로 하는 것
이 아닌, blktrace가 시작된 시점을 기준으로 하기 때문이다.

TPC-C 테스트가 완료되고 blktrace를 종료할 때 5~15초 가량의 여유를 가지고 종료하도록
한다. 왜냐하면 TPC-C 테스트가 종료되고 mysql이 종료되어도, 밀린 I/O 작업들이 수행되
는 경우가 있기 때문이다.

만약 트랜잭션, 유저수변화가 필요한 경우 과정16을 진행 후 Create User(과정18) 을 수행


하기 전에 수정을 하도록 하자.

Created by seounghun,jeong // 4uwingnet@gmail.com

You might also like