2020년 2월 18일 화요일

POWER9에서 sysbench를 source로부터 build하기



sysbench는 주로 DBMS의 성능 benchmark test를 할 때 사용되는 tool입니다.  IBM POWER9 즉 ppc64le 아키텍처의 Redhat에서 이를 build하는 방법은 간단합니다.

먼저 필요한 OS package들을 설치합니다.

(base) [cecuser@p663-kvm1 sysbench]$ sudo yum -y install make automake libtool pkgconfig libaio-devel

MariaDB 그리고 PostgreSQL과 연계 테스트를 위해서는 아래와 같은 OS package들도 함께 설치합니다.

(base) [cecuser@p663-kvm1 sysbench]$ sudo yum -y install mariadb-devel openssl-devel postgresql-devel

이제 source code를 download 받습니다.

(base) [cecuser@p663-kvm1 ~]$ git clone https://github.com/akopytov/sysbench.git

(base) [cecuser@p663-kvm1 ~]$ cd sysbench

여기서 travis_ppc64le branch로 checkout 합니다.  이걸 하지 않으면 "error: ‘GG_State’ {aka ‘struct GG_State’} has no member named ‘J’ "라는 error를 겪게 되는데, 이에 대해서는 https://github.com/akopytov/sysbench/pull/234 를 참조하십시요.

(base) [cecuser@p663-kvm1 sysbench]$ git checkout travis_ppc64le

다음으로 autogen,sh을 수행하여 configure script를 생성합니다.

(base) [cecuser@p663-kvm1 sysbench]$ ./autogen.sh

만약 postgresql이나 mariadb로 sysbench 테스트를 하실 거라면 아래와 같이 '--with-pgsql --with-mysql' 옵션과 함께 configure를 돌리시면 됩니다.  Default로는 mysql을 찾습니다.

(base) [cecuser@p663-kvm1 sysbench]$ ./configure --with-pgsql --with-mysql

만약 mysql이나 postgresql을 쓸 것이 아니라면 다음과 같이 하면 됩니다.

(base) [cecuser@p663-kvm1 sysbench]$ ./configure --without-mysql

그 다음으로는 make, sudo make install을 수행하면 됩니다.

(base) [cecuser@p663-kvm1 sysbench]$ make -j4

(base) [cecuser@p663-kvm1 sysbench]$ sudo make install

(base) [cecuser@p663-kvm1 sysbench]$ cd ..

sysbench는 아래 위치에 설치됩니다.

(base) [cecuser@p663-kvm1 ~]$ ls -l `which sysbench`
-rwxr-xr-x 1 root root 1384488 Feb 18 08:00 /usr/local/bin/sysbench

--without-mysql로 build된 sysbench 파일을 편의를 위해 아래의 Google drive에 올려놓았습니다.

https://drive.google.com/open?id=1tH9bbgQaipoAqxWFHAHVL3F4QPFSlcdG

혹시 몰라, 아래와 같이 위에서 "make -j4"까지 해놓은 sysbench directory 전체를 tgz로 묶어서 아래의 Google drive에 올려놓았습니다.  여기서는 --without-mysql로 build된 버전을 올렸습니다.

https://drive.google.com/open?id=1ircTWDzOKuZzglvz5cn-Wr2vEg0q0i3a

새로 build를 해야 하는 경우, 이 file을 아래와 같이 푸시고 sudo make install 만 수행하시면 됩니다. 

(base) [cecuser@p628-kvm1 ~]$ tar -zxf sysbench_ppc64le.tgz

(base) [cecuser@p628-kvm1 ~]$ cd sysbench

(base) [cecuser@p628-kvm1 sysbench]$ sudo make install

또는 postgresql 등의 옵션을 줘서 다시 build해야 한다면 맨 첫줄의 autoconf.sh부터 새로 시작하시면 됩니다.

댓글 없음:

댓글 쓰기