f

DBT2 - MySQL

2013.05.07 19:48 콤퓨타/Simulator&Testing

[ 출처:http://ninako21.tistory.com/54 ]


1. MySQL설치

mysql 소스 다운로드해서 압축풀고 시작

./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --sysconfdir=/etc

make

sudo make install


data를 저장하기 위한 폴더 생성 및 권한 변경

mkdir /usr/local/mysql/data

sudo chown -R karyurid704:cal-alumni /usr/local/mysql/data


DB install

mysql/bin/mysql_install_db --basedir=/usr/local/mysql --ldata=/usr/local/mysql/data


mysql 데몬 실행 방법

/usr/local/mysql/libexec/mysqld --skip-grant &

(mysql 접속법 : /usr/local/mysql/bin/mysql -u root mysql )



2. DBT2 설치

소스 다운로드

wget http://sourceforge.net/projects/osdldbt/files/dbt2/0.40/dbt2-0.40.tar.gz


압축풀고 폴더로 들어가염

설치 시작

aclocal

autoheader

autoconf

automake

./configure --with-mysql

make

sudo make install



3. 테스트하기

dbt2의 데이터들이 들어갈 폴더 생성 및 설정

sudo mkdir -p /mnt/data

sudo chown -R karyurid704:cal-alumni /mnt/data


압축 푼 폴더에서 src 폴더로 ㄱㄱ

데이터 생성

./datagen -w 20 -d /mnt/data --mysql


다시 윗폴더로 이동!

scripts/mysql로 들어가용

build_db.sh를 연다음에 수정

NEW_ORDER="CREATE TABLE new_order (

  no_o_id int(11) NOT NULL default '0',

  no_d_id int(11) NOT NULL default '0',

  no_w_id int(11) NOT NULL default '0',

  PRIMARY KEY  (no_d_id,no_w_id,no_o_id),

  KEY ix_no_wid_did(no_w_id,no_d_id)

)"


mysql 실행 (다른 터미널 띄워놓고..)

/usr/local/mysql/libexec/mysqld --skip-grant &


디비빌드

./build_db.sh -d dbt2 -f /mnt/data -s /tmp/mysql.sock -u root


다시 설치폴더의 최상위로 이동!

storedproc/mysql로 이동

sed -i -e 's/|\;/|/' *.sql

/usr/local/mysql/bin/mysql -u root -D dbt2 < new_order.sql

/usr/local/mysql/bin/mysql -u root -D dbt2 < new_order_2.sql

/usr/local/mysql/bin/mysql -u root -D dbt2 < order_status.sql

/usr/local/mysql/bin/mysql -u root -D dbt2 < payment.sql

/usr/local/mysql/bin/mysql -u root -D dbt2 < stock_level.sql


마지막으로, 설치폴더의 최상위로 이동해서 scripts폴더로 들어간다음

./run_workload.sh -c 20 -t 20 -d 300 -w 20 -u root


여유있게 기둘리면 결과가 이쁘게 나옴

아웃풋파일 위치는 scripts/output에 있습니당


'콤퓨타 > Simulator&Testing' 카테고리의 다른 글

DBT2 - MySQL  (0) 2013.05.07
dbt2 - postgreSQL로 돌리기 (미완성)  (0) 2013.05.07
dbt3 (postgreSQL)  (0) 2013.05.06

Trackbacks 0 / Comments 0

dbt2 - postgreSQL로 돌리기 (미완성)

2013.05.07 10:29 콤퓨타/Simulator&Testing

readling_line 설치

소스다운로드 :  ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz

압축풀고 폴더 들어가서

./configure

make

sudo make install

sudo ldconfig


~/.bash_profile열고 LD_LIBRARY_PATH에 shlib폴더의 위치 추가

source ~/.bash_profile

sudo ldconfig




python 2.7 설치

wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tar.bz2 

압축풀고 폴더로ㄱ ㄱ

./configure

make

sudo make install



R 설치

이거 설치 안되어있으면 ImportError: No module named rpy2.robjects 어쩌구 에러남여

다운로드

wget http://cran.cnr.berkeley.edu/src/base/R-2/R-2.15.2.tar.gz


설치

./configure --with-readline=no --with-x=no --enable-R-shlib 

make (이거좀많이~~ 오래걸림)

sudo make install


~/.bash_profile열고 LD_LIBRARY_PATH에 lib폴더 위치 추가하고 sudo ldconfig






rpy2설치

wget http://downloads.sourceforge.net/project/rpy/rpy2/2.3.x/rpy2-2.3.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Frpy%2Ffiles%2Frpy2%2F2.3.x%2Frpy2-2.3.1.tar.gz%2Fdownload&ts=1359529900&use_mirror=jaist

압축풀고 폴더 들어가서
python setup.py build
python setup.py install



wget http://downloads.sourceforge.net/project/rpy/rpy/1.0.3/rpy-1.0.3.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Frpy%2Ffiles%2Frpy%2F1.0.3%2Frpy-1.0.3.tar.gz%2Fdownload&ts=1359529961&use_mirror=jaist






dbt2 소스 다운로드

git clone git://osdldbt.git.sourceforge.net/gitroot/osdldbt/dbt2


cmake -DDBMS=pgsql

sudo make install DESTDIR=/usr/local



다운로드받은 폴더 안에 들어가서, storedproc/pgsql/c 로 들어가서

make

make install 

(절대 ! sudo 로 하지말것... 안그럼 pg_config를 못찾는다고 나옴)


[설치위치]/bin/pgsql/로 이동 !

[설치위치]/examples/dbt2_profile을 복사해다 넣을 것.

source dbt_profile


디비생성 (/tmp/data에 생성된다고함..)

dbt2-pgsql-build-db -w 1


테스트 워크로드 궈궈 (5분정도 걸림 -0-)

dbt2-run-workload -a pgsql -d 300 -w 1 -o /tmp/result -c 10



Tip!!

TIMESLOG:  could not bind IPv6 socket: Address already in use

HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.LOG:  could not bind IPv4 socket: Address already in use

HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.

WARNING:  could not create listen socket for "localhost" FATAL:  could not create any TCP/IP sockets


뭐 이런 에러 뜨면, ps -ef | grep post 라고 검색해서 나오는 postgreSQL 관련 프로세스 다 주겨뻐리기기

'콤퓨타 > Simulator&Testing' 카테고리의 다른 글

DBT2 - MySQL  (0) 2013.05.07
dbt2 - postgreSQL로 돌리기 (미완성)  (0) 2013.05.07
dbt3 (postgreSQL)  (0) 2013.05.06

Trackbacks 0 / Comments 0

dbt3 (postgreSQL)

2013.05.06 15:45 콤퓨타/Simulator&Testing

ㅇ ㅏㅏㅏㅏㅏㅏㅏ 삽질의 산물


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
dbt3 (postgreSQL)  (0) 2013.05.06

Trackbacks 0 / Comments 0

Copyright © 어니엉월드 All Rights Reserved | JB All In One Version 0.4 Designed by CMSFactory.NET

티스토리 툴바