ㅇ ㅏㅏㅏㅏㅏㅏㅏ 삽질의 산물
1. PostgreSQL install
다운로드
http://www.postgresql.org/ftp/source/v9.2.2/
압축푼다음에 폴더로 들어가서
./configure --without-readline
gmake
sudo gmake install
그러면 /usr/local/pgsql 폴더 생김 !
데이퉈가 들어갈 위치를 만들어줘야함
sudo mkdir /usr/local/pgsql/data
sudo chown -R karyurid704:cal-alumni /usr/local/pgsql
~/.bash_profile 설정
PATH=$PATH:/usr/local/pgsql/bin추가 꼭 해줄것 !
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib
sudo ldconfig
source ~/.bash_profile
2. dbt3 설치
다운로드
http://sourceforge.net/projects/osdldbt/files/dbt3/
압축풀고 폴더로 고고싱 (run_workload 기준임)
scripts/dbt3_profile.in 파일 열어서
DSS_PATH부분 수정 -> postgreSQL의 data가 있을 곳의 위치를 쓰면됨다
위에서 postgreSQL설치할 때 만들어준 data폴더의 위치임
export DSS_PATH=/usr/local/pgsql/data
scripts/pgsql/pgsql_profile.in 파일 열어서
PGDATA 부분도 위에 DSS_PATH랑 같은 패쓰로 설정해야함
TSDIR은 테이블스페이스 마운트 포인트 어쩌구하는데.. 걍 홈폴더에 폴더하나 만들어서 거기로 지정했음.. 왜냐하면 디비는 root로 실행하면 안되는데, 기본으로 지정되있는 /mnt 어쩌구 위치는 루트꺼라서 나중에 꼬일까봐 홈폴더에 하나 만들만들만들~.~
다음과 같이 설치
aclocal
autoreconf --install
./configure
make
sudo make install
~/.bash_profile 수정 ( script로 있는 run_workload 할 때에는 안해도 됨다.. 전 안함 ㅋㅋㅋ.. )
DBT3_INSTALL_PATH 변수 추가 : dbt3 설치 위치
DSS_PATH 변수 추가 : postgreSQL의 data가 있는 곳의 위치
DSS_QUERY 변수 추가 : DSS_QUERY=$DPT3_INSTALL_PATH/queries
DSS_CONFIG 변수 추가 : DSS_CONFIG=$DBT3_INSTALL_PATH/src/dbgen
src/dbgen 들어가서 make 하면 dbgen 실행파일이 생성될 것임.
그러면 다음과 같이 실행
./dbgen -vfF -s 5 -T L
3. scripts/run_workload.sh 실행하기 전에 고쳐야 할 부분들★★
1) scripts/pgsql/create_db.sh 열고 맨 끝에 부분에
_test=`echo $_o | grep CREATE`
if [ "$_test" = "" ]; then
echo "/usr/local/pgsql/bin/createdb $SID failed: $_o $_test"
exit 1
fi
이부분 다 주석처리하거나 없애버려야함..
2) scripts/start_sysstats.sh
/usr/bin/sar -o $OUTPUT_DIR/sar.out $SAMPLE_LENGTH 0 &
이부분에서 끝에 0 빼야함.. 즉,
/usr/bin/sar -o $OUTPUT_DIR/sar.out $SAMPLE_LENGTH &
이렇게 바꾸세영
3) scripts/run_workload.sh
136, 137번째 줄에
perl $SRCDIR/scripts/graph_query_time.pl --if $OUTPUT_DIR/q_time.out || exit 1
${SHELL} $SRCDIR/scripts/gen_html.sh $OUTPUT_DIR > $OUTPUT_DIR/index.html || exit 1
예네 두줄은 주석처리하거나 없애고 돌려야함
graph_query_time.pl에서 에러가 syntax에러가 쭊쭊 나는데, 결과값을 그래프로 이쁘게 그려서 웹으로 이뿌게 보여주려고 하는거니까 지금상황에선 딱히 안해도 ㅇㅋ
4) scripts/pgsql/get_power.sh를 열고
51번째줄과, 63번째 줄에 exit 1 이라는 구문을 주석처리하거나 없애야 함
그래야 일부분이 데이터가 없어서 안돌아간다고 확 멈춰버리는 일이 없고, 결과 나온 애들만 가지고도 나중에 계산 결과가 대충 나오기라도 함
4. scripts/run_workload.sh 실행!!!!!!! 궈궈싱
이제 run_workload.sh 실행시키면 됨다
참고 1) run workload.sh [-f <scale factor> -g -p ’<load database parameters>’ -q ’<power database parameters>’ -r ’<throughput database parameters>’ -y 옵션설명) -e Flag to get EXPLAIN ANALYZE results instead of query results. -f Database scale factor to use, 1 by default -g Build database data files. -n Number of streams to use, 1 by default. -o Flag to enable oprofile. -p Any PostgreSQL database parameters to use for the load test. -q Any PostgreSQL database parameters to use for the power test. -r Any PostgreSQL database parameters to use for the throughput test. -v Flag for verbose script output. 참고 2) run_workload.sh는 load, power, throughput 총 3가지의 테스트로 구성된다. 각 테스트의 파라미터를 보면 다음과 같다. (throughput_test 같은 경우는 help 메세지가 없어서 직접 옵션을 보고 작성하였는데.. 음..-ㅅ-) Usage: pgsql/load_test.sh [-o <dir> -p <db_param> -f <scale_factor>] Usage: pgsql/power_test.sh -f <SCALE_FACTOR> [-e -p <db_params> -t <tag> -y] Usage: pgsql/throughput_test.sh -n <STREAM_NUM> -f <SCALE_FACTOR> [-o <dir> -p <db_params> -s <seed_file> -t <tag> -i <oprofile_flag>]
실행시킨거 보면 화면이 좀 지저분하게 나오긴하는데... -0-
중간중간에 ERROR: column "transaction" does not exist 이런 에러가 있을텐데, 디비에 저런 컬럼이 없어서 그런거니 무시해도 될 듯.
다 끝나고 맨 마지막에
(standard_in) 11: illegal character: R
(standard_in) 11: illegal character: P
(standard_in) 11: illegal character: O
(standard_in) 11: illegal character: W
(standard_in) 11: illegal character: R
(standard_in) 11: illegal character: Q
(standard_in) 11: illegal character: '
(standard_in) 12: syntax error
이런 에러가 엄청많이 뜨는데, 무시해도 됨.. 결과는 나와있음
뭔지는 아직 분석 안해봄.. ㅈㅈ
다 끝나면 다음 명령어들을 실행해 줘야함.. 깔끔하게 안끝나염 ㅠㅠ
killall /usr/bin/sar
killall /usr/bin/iostat
killall /usr/bin/vmstat
디엔드
'콤퓨타 > Simulator&Testing' 카테고리의 다른 글
DBT2 - MySQL (0) | 2013.05.07 |
---|---|
dbt2 - postgreSQL로 돌리기 (미완성) (0) | 2013.05.07 |
댓글