반응형

[설치]

 

1. 다운
#apt-get install sysbench 또는

#wget http://downloads.mysql.com/source/sysbench-0.4.12.5.tar.gz


 

2. 압축해제
#gzip -d sysbench-0.4.12.5.tar.gz 

#tar xvf sysbench-0.4.12.5.tar

 

3. 설치
#cd sysbench-0.4.12.5
#./autogen.sh
#./configure --prefix=${SYSBENCH_HOME} --with-mysql-includes=${MYSQL_HOME}/include/mysql --with-mysql-libs=${MYSQL_HOME}/lib/mysql
#make
#make install

 

===========예외 케이스==============
<./autogen.sh 예외처리>
   - aclocal 미존재하여 에러 발생시
   #yum install automake
   - libtoolize 미존재하여 에러 발생시
   #yum install libtool

 

<./configure 예외처리>
   -자신의 디렉토리에 맞게 명령어를 입력하면된다
    (./configure --prefix=/usr/local --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib64/mysql)
   -헤더파일이 없을경우 make 실행하면 아래와 같은 에러가 발생한다. 

 

<에러>
    drv_mysql.c:35:19: error: mysql.h: No such file or directory
    drv_mysql.c:36:26: error: mysqld_error.h: No such file or directory
   -헤더파일을 설치해야 할 경우 mysql-devel 설치후 다시 ./configure 실행하고 make 할 것
   #yum install mysql-devel
===================================

 

 

 

 

 

 

 

 

 

[I/O test]
#sysbench --num-threads=16 --test=fileio --file-total-size=2G --file-test-mode=rndrw prepare

#sysbench --num-threads=16 --test=fileio --file-total-size=2G --file-test-mode=rndrw run

 

[OLTP test]

<데이터적재>

>create database sbtest;

#sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-user=root --mysql-password=cjsgkanwjr --mysql-socket=/var/lib/mysql/mysql.sock prepare

 

<테스트 시작1>

#sysbench --num-threads=16 --max-requests=100000 --test=oltp --oltp-table-size=1000000 --mysql-user=root --mysql-password=cjsgkanwjr --mysql-socket=/var/lib/mysql/mysql.sock --oltp-read-only run

<테스트 시작2>

#sysbench --num-threads=16 --max-time=60 --max-requests=100000 --test=oltp --oltp-table-size=1000000 --mysql-user=root --mysql-password=cjsgkanwjr --mysql-socket=/var/lib/mysql/mysql.sock --oltp-read-only=off --oltp-test-mode=complex run

 

 

<실행 옵션>

--oltp-table-size=[테이블-레코드-건수]

--num-threads=[동시-스레드-개수]

--max-requests=[쿼리-요청-개수]
--max-time=[테스트-시간]  // 0이면 지정된 횟수만큼 모두 완료해야 종료, 그외는 초단위로 지정된 시간만큼 실행
--mysql-host=[호스트명]
--mysql-user=[DB-USER]
--mysql-password=[DB-USER-비밀번호]
--mysql-db=[테스트-데이터베이스명]
--mysql-table-engine=[테이블-엔진-종류]
--mysql-socket=[MySQL-소켓-파일-경로]
--mysql-port=[MySQL-포트-번호]
--oltp-test-mode=[simple|complex|nontrx]  // simple 은 select만 하고, complex는 select,insert,delete,update 중 랜덤하게 실행
--oltp-read-only=[on|off]






Sysbench 설치

 yum install -y mysql-devel
 tar xvfz sysbench-0.4.12.tar
 cd sysbench-0.4.12
 ./autogen.sh
 ./configure --prefix=${SYSBENCH_HOME} --with-mysql-includes=${MYSQL_HOME}/include/mysql \

 --with-mysql-libs=${MYSQL_HOME}/lib/mysql
 make
 make install

 

Sysbench 옵션

 일반옵션
  --num-threads=N                    사용하는 쓰레드 수
  --max-requests=N                  쿼리 요청 개수
  --max-time=N                         테스트 시간
  --forced-shutdown=STRING     --max-time 후에 강제종료여부 on/off ( 기본값 : off )
  --thread-stack-size=SIZE        쓰레드당 스텍 사이즈 ( 기본값 : 32K )
  --init-rng=[on|off]                  initialize random number generator [off]
  --test=STRING                       test to run
  --debug=[on|off]                   디버깅 정보 출력 [off]
  --validate=[on|off]                  perform validation checks where possible [off]
  --help=[on|off]                      도움말 출력
  --version=[on|off]                  버전 출력

  --oltp-table-size                    테이블 레코드 건수

 

 Compiled-in tests:
  fileio - File I/O test
  cpu - CPU performance test
  memory - Memory functions speed test
  threads - Mutex locking / unlocking을 통해 Job Scheduler 성능 측정
  mutex - Mutex performance test
  oltp - OLTP test (Point Query, Range Query, Sum, Order by, Group by, Distinct 등의 쿼리를 수행하여 OLTP 쿼리 성능 측정

 

 fileio 모드 :

  --file-num                              생성된 파일 수  : 기본값 128

  --file-block-size                     모든 I/O 작동에 사용하는 블록사이즈수  : 기본값 16K

  --file-total-size                       파일의 총 크기 : 기본값 2G

  --file-test-mode                      작업유형 ( seqwr, seqrewr, seqrd, rndrd, rndrw, rndwr ) : 기본값 required

  --file-io-mode                         I/O 모드 ( sync, async, fastmmap, slowmmap ) : 기본값 sync

  --file-async-backlog               쓰레드당 큐의 비동기화 동작 수 (only for --file-io-mode=async) : 기본값 128

  --file-fsync-freq                      Do fsync() after this number of requests (0 - don't use fsync()) : 기본값 100

  --file-fsync-all                        Do fsync() after each write operation : 기본값 no

  --file-fsync-end                      Do fsync() at the end of the test : 기본값 yes

  --file-fsync-mode                    동기화 사용 방법 ( fsync, fdatasync ) : 기본값 fsync

  --file-merged-requests            Merge at most this number of I/O requests if possible (0 - don't merge) : 기본값 0

  --file-rw-ratio                         reads/writes ration for combined random read/write test : 기본값 1.5

 

File  I/O 성능 측정

 #sysbench --num-threads=16 --test=fileio --file-total-size=1G --file-test-mode=rndrw prepare

 

 sysbench 0.4.12:  multi-threaded system evaluation benchmark

 128 files, 8192Kb each, 1024Mb total
 Creating files for the test...
 -------------------------------------------------------------------------------------------
 # sysbench --num-threads=16 --test=fileio --file-total-size=1G --file-test-mode=rndrw run
 sysbench 0.4.12:  multi-threaded system evaluation benchmark

 Running the test with following options: 
 Number of threads: 16

 Extra file open flags: 0
 128 files, 8Mb each
 1Gb total file size
 Block size 16Kb
 Number of random requests for random IO: 10000
 Read/Write ratio for combined random IO test: 1.50
 Periodic FSYNC enabled, calling fsync() each 100 requests.
 Calling fsync() at the end of test, Enabled.
 Using synchronous I/O mode
 Doing random r/w test
 Threads started!
 Done.

 

 Operations performed:  5999 Read, 4001 Write, 12800 Other = 22800 Total
 Read 93.734Mb  Written 62.516Mb  Total transferred 156.25Mb  (18.646Mb/sec)
 1193.37 Requests/sec executed

 Test execution summary:
    total time:                          8.3796s
    total number of events:              10000
    total time taken by event execution: 46.8871
    per-request statistics:
         min:                                  0.01ms
         avg:                                  4.69ms
         max:                                223.05ms
         approx.  95 percentile:              38.94ms

 Threads fairness:
    events (avg/stddev):           625.0000/90.00
    execution time (avg/stddev):   2.9304/0.41

 

MySQL DB OLTP(Online Transaction Processing) 성능 측정

 /usr/local/mysql55/bin/mysql -utheswice -p
 mysql> create database sbtest;
 mysql> use sbtest;
 mysql> \q

 

 

 # sysbench --debug=off --mysql-host=themade.com --mysql-user=theswice --mysql-password=XXXX \
 --test=oltp --oltp-table-size=1000000 prepare   // 데이터 준비

 

 sysbench 0.4.12:  multi-threaded system evaluation benchmark

 No DB drivers specified, using mysql
 Creating table 'sbtest'...
 Creating 1000000 records in table 'sbtest'...
 ----------------------------------------------------------------------------------------

// 실행 회수 기반의 테스트(시간 관계없이 1000000번 요청 실행)
 #  sysbench --debug=off --mysql-host=theswice.com --mysql-user=theswice --mysql-password=XXXX \
 --test=oltp --oltp-table-size=1000000 --num-threads=10 --max-requests=100000 run  // 실행

 

 sysbench 0.4.12:  multi-threaded system evaluation benchmark

 No DB drivers specified, using mysql
 Running the test with following options:
 Number of threads: 10

 Doing OLTP test.
 Running mixed OLTP test
 Using Special distribution (12 iterations,  1 pct of values are returned in 75 pct cases)
 Using "BEGIN" for starting transactions
 Using auto_inc on the id column
 Maximum number of requests for OLTP test is limited to 100000
 Threads started!

 OLTP test statistics:
     queries performed:
         read:                            1400000                                      // 읽기수(페이지수)
         write:                           500000
         other:                           200000
         total:                           2100000
     transactions:                        100000 (195.92 per sec.)            // 초당 트랜잭션 195건
     deadlocks:                           0      (0.00 per sec.)                 // 데드락
     read/write requests:                 1900000 (3722.43 per sec.)     // 초당 쿼리 실행 3722건
     other operations:                    200000 (391.83 per sec.)          // 기타 작업에 의한 초당 작업수

 Test execution summary:
     total time:                          510.4193s                                   // 총시간(초)
     total number of events:              100000                                 // 이벤트수
     total time taken by event execution: 5103.3788                        // 이벤트 실행에 의한 총 시간
     per-request statistics:
          min:                                  3.98ms
          avg:                                 51.03ms
          max:                                628.10ms
          approx.  95 percentile:              90.11ms

 Threads fairness:
     events (avg/stddev):           10000.0000/57.31                       // 이벤트(평균/표준편차)
     execution time (avg/stddev):   510.3379/0.00                         // 실행시간(평균/표준편차)

-----------------------------------------------------------------------------------------------

 //실행 시간 기반의 테스트 (요청 수에 관계 없이 20초 동안 실행)

 ./sysbench --test=oltp --oltp-table-size=10000000 --num-threads=8 --max-requests=0 --max-time=20 \

 --mysql-host=localhost --mysql-user=theswice --mysql-password=XXXX \
 --mysql-db=THESWICEDB --mysql-table-engine=innodb --mysql-create-options= \
 --mysql-socket=/tmp/mysql.sock \
 --mysql-port=3306 \
 --oltp-test-mode=complex \
 --oltp-read-only=off run

 

주의사항

1. Sysbench 용 데이터를 prepare 한 후, 처음 실행하는 benchmark는 Buffer pool이 Warming-up되지 않았을 수 있음

2. ​테스트하고자 하는 것이 CPU-Bound인지 I/O-Bound인지 명확히 구분하여, Buffer pool 사이즈와 --oltp-table-size를 적절히 조절해야 한다.
   일반적으로 InnoDB 스토리지 엔진 사용시, record건수가 10,000,000건인 경우 2.3G 정도의 ibd 파일이 생성되며,

   100,000,000 건인 경우 23G 정도의 ibd 파일이 생성된다.

3. ​이 테스트로 인해서 산출된 tpmC 값은 시스템의 특성(MySQL Configuration이나 RAID 및 디스크 설정, CPU, 메모리,...)에 따른 상대적인

   값이므로, 동일 수준의 장비와 비교를 위한 수치만으로 고려해야 한다.

4. ​매번 테스트 시나리오를 변경할 때에는, MySQL 서버를 재 시작시키는 것이 가장 좋으며,
   재시작시에는
    mysql> set global innodb_fast_shutdown=0;
    shell$> mysqladmin -uroot -p shutdown
   와 같이 Clean shutdown을 해주는 것이 테스트 간의 영향도를 최소화시킬 수 있는 방법이다.





[출처] Sysbench|작성자 theswice







H/W 혹은 MySQL DB 환경(버전, 파라미터)의 변경으로 성능 비교가 필요한 경우, sysbench를 이용해서 간단하게 시스템, DB 성능을 측정할 수 있다.

Sysbench는 Oracle로 인수된 MySQL AB社에서 개발한 프로그램이다. 

 

sysbench는 아래와 같이 간단하게 설치가 가능하다.

# 다운로드 (sourceforge) 

http://sourceforge.net/projects/sysbench

 

# 압축 해제 

$ tar xfz sysbench-0.4.12.tar.gz

$ cd sysbench-0.4.12

 

# Config 및 Make

$ ./autogen.sh

$ ./configure --prefix=/usr/local --with-mysql-includes=$MYSQL_HOME/include --with-mysql-libs=$MYSQL_HOME/lib 

$ make

$ make install 

 

sysbench는 아래와 같은 항목으로 시스템과 MySQL DB의 성능을 측정한다.

(1) fileio - 디스크에 대한 sequential, random I/O 성능 측정
(2) cpu - 소수(prime number)를 이용한 연산으로 CPU 성능 측정

(3) memory - 메모리 I/O 성능 측정

(4) threads - Mutex locking / unlocking을 통해 Job Scheduler 성능 측정 
(5) mutex - Mutex lock 속도 측정
(6) oltp - Point Query, Range Query, Sum, Order by, Group by, Distinct 등의 쿼리를 수행하여 OLTP 쿼리 성능 측정 

 

테스트 항목별로 사용법에 차이가 나기 때문에, 자세한 사용법은 아래 메뉴얼을 참고하면 된다. ^^ 

http://sysbench.sourceforge.net/docs/

 

(예1) File I/O 성능 측정 

 

# sysbench --num-threads=16 --test=fileio --file-total-size=1G --file-test-mode=rndrw prepare
sysbench 0.4.12:  multi-threaded system evaluation benchmark

128 files, 8192Kb each, 1024Mb total
Creating files for the test...

 

# sysbench --num-threads=16 --test=fileio --file-total-size=1G --file-test-mode=rndrw run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 16

Extra file open flags: 0
128 files, 8Mb each
1Gb total file size
Block size 16Kb
Number of random requests for random IO: 10000
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Threads started!
Done.

Operations performed:  5997 Read, 4003 Write, 12800 Other = 22800 Total
Read 93.703Mb  Written 62.547Mb  Total transferred 156.25Mb  (42.731Mb/sec)
 2734.80 Requests/sec executed

Test execution summary:
    total time:                          3.6566s
    total number of events:              10000
    total time taken by event execution: 4.9801
    per-request statistics:
         min:                                  0.01ms
         avg:                                  0.50ms
         max:                                211.79ms
         approx.  95 percentile:               0.03ms

Threads fairness:
    events (avg/stddev):           625.0000/149.44
    execution time (avg/stddev):   0.3113/0.15

 

# sysbench --num-threads=16 --test=fileio --file-total-size=1G --file-test-mode=rndrw cleanup 


(예2) MySQL DB OLTP 성능 측정

 

# sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-user=root --mysql-password=root --mysql-socket=/tmp/mysql.sock prepare             
sysbench 0.4.12:  multi-threaded system evaluation benchmark

No DB drivers specified, using mysql
Creating table 'sbtest'...
Creating 1000000 records in table 'sbtest'...

 

# sysbench --num-threads=16 --max-requests=100000 --test=oltp --oltp-table-size=1000000 --mysql-user=root --mysql-password=root --mysql-socket=/tmp/mysql.sock --oltp-read-only run  
sysbench 0.4.12:  multi-threaded system evaluation benchmark

No DB drivers specified, using mysql
Running the test with following options:
Number of threads: 16

Doing OLTP test.
Running mixed OLTP test
Doing read-only test
Using Special distribution (12 iterations,  1 pct of values are returned in 75 pct cases)
Using "BEGIN" for starting transactions
Using auto_inc on the id column

Maximum number of requests for OLTP test is limited to 100000
Threads started!
Done.

OLTP test statistics:
    queries performed:
        read:                            1400000
        write:                           0
        other:                           200000
        total:                           1600000
    transactions:                        100000 (872.40 per sec.)
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 1400000 (12213.65 per sec.)
    other operations:                    200000 (1744.81 per sec.)

Test execution summary:
    total time:                          114.6259s
    total number of events:              100000
    total time taken by event execution: 1832.5973
    per-request statistics:
         min:                                  0.16ms
         avg:                                 18.33ms
         max:                              16946.78ms
         approx.  95 percentile:              26.99ms

Threads fairness:
    events (avg/stddev):           6250.0000/917.83
    execution time (avg/stddev):   114.5373/0.09 









# 벤치마킹용 데이터베이스 및 계정 생성
create database sysbench;

create user sysbench@'%' identified by 'sysbench';
create user sysbench@'localhost' identified by 'sysbench';
create user sysbench@'127.0.0.1' identified by 'sysbench';

grant all on sysbench.* to sysbench@'%';
grant all on sysbench.* to sysbench@'localhost';
grant all on sysbench.* to sysbench@'127.0.0.1';


# Sysbench building
$ wget http://downloads.sourceforge.net/project/sysbench/sysbench/0.4.12/sysbench-0.4.12.tar.gz?use_mirror=cdnetworks-kr-1
$ tar xvfz sysbench-0.4.12.tar.gz
$ cd sysbench-0.4.12
$ ./autogen.sh
$ ./configure --prefix=${SYSBENCH_HOME} --with-mysql-includes=${MYSQL_HOME}/include/mysql --with-mysql-libs=${MYSQL_HOME}/lib/mysql
$ make
$ make install


# 테스트를 위한 준비 (테이블 및 데이터 생성)
#  주어진 데이터베이스에 테스트용 테이블(default 테이블명은 sbtest)을 생성하고, 주어진 건수 만큼 레코드를 Insert
#  테스트용으로 만들어진 데이터를 초기화하는 방법은 sysbench 도구를 이용해도 되지만, 간단히 "drop table sbtest;"명령으로 삭제해도 됨
${SYSBENCH_HOME}/bin/sysbench --test=oltp --oltp-table-size=[테이블-레코드-건수] \
--max-requests=[쿼리-요청-개수] --max-time=[테스트-시간] \
--mysql-host=[호스트명] --mysql-db=[테스트-데이터베이스명] --mysql-user=[DB-USER] --mysql-password=[DB-USER-비밀번호] \
--mysql-table-engine=[테이블-엔진-종류] --myisam-max-rows=[MyISAM인 경우-레코드-최대-건수] --mysql-create-options= \
--mysql-socket=[MySQL-소켓-파일-경로] \
--mysql-port=[MySQL-포트-번호] \
--oltp-test-mode=[simple|complex|nontrx] \
--oltp-read-only=[on|off] \
prepare

예제)
./sysbench --test=oltp --oltp-table-size=10000000 --num-threads=8 \
--mysql-host=localhost --mysql-user=sysbench --mysql-password=sysbench \
--mysql-db=sysbench --mysql-table-engine=innodb --myisam-max-rows=10000000000 --mysql-create-options= \
--mysql-socket=/tmp/mysql.sock \
--oltp-test-mode=complex \
--oltp-read-only=off \
prepare

# 테스트 실행
${SYSBENCH_HOME}/bin/sysbench --test=oltp --oltp-table-size=[테이블-레코드-건수] --num-threads=[동시-스레드-개수] \
--max-requests=[쿼리-요청-개수] --max-time=[테스트-시간] \
--mysql-host=[호스트명] --mysql-user=[DB-USER] --mysql-password=[DB-USER-비밀번호] \
--mysql-db=[테스트-데이터베이스명] --mysql-table-engine=[테이블-엔진-종류] --mysql-create-options= \
--mysql-socket=[MySQL-소켓-파일-경로] \
--mysql-port=[MySQL-포트-번호] \
--oltp-test-mode=[simple|complex|nontrx] \
--oltp-read-only=[on|off] \
run

예제)
# 실행 회수 기반의 테스트 (시간 관계없이 10000번 요청 실행)
./sysbench --test=oltp --oltp-table-size=10000000 --num-threads=8 --max-requests=10000 --max-time=0 \
--mysql-host=localhost --mysql-user=sysbench --mysql-password=sysbench \
--mysql-db=sysbench --mysql-table-engine=innodb --mysql-create-options= \
--mysql-socket=/tmp/mysql.sock \
--mysql-port=20306 \
--oltp-test-mode=complex \
--oltp-read-only=off \
run

# 실행 시간 기반의 테스트 (요청 수에 관계 없이 20초 동안 실행)
./sysbench --test=oltp --oltp-table-size=10000000 --num-threads=8 --max-requests=0 --max-time=20 \
--mysql-host=localhost --mysql-user=sysbench --mysql-password=sysbench \
--mysql-db=sysbench --mysql-table-engine=innodb --mysql-create-options= \
--mysql-socket=/tmp/mysql.sock \
--mysql-port=20306 \
--oltp-test-mode=complex \
--oltp-read-only=off \
run

# 결과 분석
sysbench 0.4.12:  multi-threaded system evaluation benchmark
...
OLTP test statistics:
    queries performed:
        read:                            140014
        write:                           50005
        other:                           20002
        total:                           210021
    transactions:                        10001  (866.61 per sec.)   ==> 초당 트랜잭션 866 건
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 190019 (16465.61 per sec.) ==> 초당 쿼리 실행 16465 건
    other operations:                    20002  (1733.22 per sec.)

Test execution summary:
...

# 테스트시 주의 사항
  • Sysbench 용 데이터를 prepare 한 후, 처음 실행하는 benchmark는 Buffer pool이 Warming-up되지 않았을 수 있음
  • 테스트하고자 하는 것이 CPU-Bound인지 I/O-Bound인지 명확히 구분하여,
    Buffer pool 사이즈와 --oltp-table-size를 적절히 조절해야 한다.
    일반적으로 InnoDB 스토리지 엔진 사용시, record건수가 10,000,000건인 경우 2.3G 정도의 ibd 파일이 생성되며,
    100,000,000 건인 경우 23G 정도의 ibd 파일이 생성됨
  • 이 테스트로 인해서 산출된 tpmC 값은 시스템의 특성(MySQL Configuration이나 RAID 및 디스크 설정, CPU, 메모리,...)에 
    따른 상대적인 값이므로, 동일 수준의 장비와 비교를 위한 수치만으로 고려해야 한다.
  • 매번 테스트 시나리오를 변경할 때에는, MySQL 서버를 재 시작시키는 것이 가장 좋으며,
    재시작시에는
        mysql> set global innodb_fast_shutdown=0;
        shell$> mysqladmin -uroot -p shutdown
    와 같이 Clean shutdown을 해주는 것이 테스트 간의 영향도를 최소화시킬 수 있는 방법이다.



## 참고 사항 (oltp-test-mode 의 설정값에 따른 테스트 케이스의 SQL 내용)
simple
  • ==> 단순히 아래 형태의 SELECT 쿼리만 실행
  • [필수] SELECT c FROM sbtest WHERE id=N;

complex (advanced transactional)
  • ==> 아래의 쿼리들중에서 M개를 선별하여 쿼리 실행
  • [필수] BEGIN;
  • [옵션] SELECT c FROM sbtest WHERE id=N;
  • [옵션] SELECT c FROM sbtest WHERE id BETWEEN N AND M;
  • [옵션] SELECT SUM(K) FROM sbtest WHERE id BETWEEN N and M;
  • [옵션] SELECT c FROM sbtest WHERE id between N and M ORDER BY c;
  • [옵션] SELECT DISTINCT c FROM sbtest WHERE id BETWEEN N and M ORDER BY c;
  • [옵션] UPDATE sbtest SET k=k+1 WHERE id=N;
  • [옵션] UPDATE sbtest SET c=N WHERE id=M;
  • [옵션] DELETE FROM sbtest WHERE id=N;
  • [옵션] INSERT INTO sbtest VALUES (...);
  • [필수] COMMIT;


반응형

'연구개발 > MYSQL' 카테고리의 다른 글

io_capacity와 checkpoint age <MySQL 5.6>  (0) 2014.11.27
MySQL 5.6 Parallel Replication (slave_parallel_workers)  (0) 2014.11.25
MySQL innodb_flush_method 튜닝 포인트  (0) 2014.11.19
innodb 처음 사용시 고려  (0) 2014.11.19
nmon  (0) 2014.11.18

+ Recent posts