Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Large volume of In-Memory data test with/SYSGEAR #1

Open
jasonpark3306 opened this issue Jun 16, 2021 · 12 comments
Open

Large volume of In-Memory data test with/SYSGEAR #1

jasonpark3306 opened this issue Jun 16, 2021 · 12 comments

Comments

@jasonpark3306
Copy link
Collaborator

본 게시판은 시스기어와 ETRI의 빅메모리 테스트를 공동으로 진행하는 목적입니다.

@jasonpark3306
Copy link
Collaborator Author

질문) 약 100GB의 메모리 옵션으로 실험할때 실제 입력되는 테스트 데이터 row 건수가 몇건이나 될까요?

@jasonpark3306
Copy link
Collaborator Author

jasonpark3306 commented Jun 16, 2021

질문) 약 100GB의 메모리 옵션으로 실험할때 실제 입력되는 테스트 데이터 row 건수가 몇건이나 될까요?

여러가지 방법으로 확인 가능합니다.

  1. 실제 테스트 스크립터 수행중에 DBMS를 통해서 확인 하는 방법

[cloud@s2600wft ~]$ is
-----------------------------------------------------------------
     Altibase Client Query utility.
     Release Version 6.5.1.2.4_13
     Copyright 2000, ALTIBASE Corporation or its subsidiaries.
     All Rights Reserved.
-----------------------------------------------------------------
ISQL_CONNECTION = TCP, SERVER = localhost, PORT_NO = 20300
iSQL> select count(*) from test;
COUNT(*)
-----------------------
200633746
1 row selected.
iSQL>
  1. Log파일을 통해서 확인 하는 방법
    실행 log (아래, 619763200가 100G 데이터 생성 시 레코드 수 입니다. 약 6억 건)
    ./bmt_insert 64 0 619763200 1000 10000 Insert SYS MANAGER 'DSN=localhost;PORT_N
결과log 
Test Mode: Insert에서, 아래 Number of Transactions 가 레코드의 수입니다.
아래 테스트는 0.5G 테스트 결과 이므로 100G는 3098816 * 200 = 619763200 (동일한 6 억 건 정도) 입니다. 
Working Directory                 : HDB/APRE/MEMORY
Test Mode                         : Insert
Number of Threads                 :       64
Start Value                       :        0
Number of Transactions            :  3098816
Working Directory                 : HDB/APRE/MEMORY
Test Mode                         : Insert
Number of Threads                 :       64
Start Value                       :        0
Number of Transactions            :  3098816
Size   of Unit                    :     1000
Threshold(microsecond)            :    10000
Cap(TPS)                          :        0
User                              : SYS
Password                          : MANAGER
Option                            : DSN=localhost;PORT_NO=20300;CONNTYPE=1
Connection Elapsed                : 0.484926 second
Start Time                        : 2021/06/16 14:59:48.264233
End   Time                        : 2021/06/16 15:00:07.051487
Elapsed                           : 18.787254 second
Transactions per Second           : 164942.47 TPS

@jasonpark3306
Copy link
Collaborator Author

질문) 'insert 시나리오에서 64의 클라이언트 쓰레드로 수행하였을때 TPS 결과는 148,702 즉 초당 약 15만건의 데이터 입력이 수행되었다' 라고 이해하면 되나요?

답변) 네 맞습니다.

@sysalign
Copy link

질문) 100gb의 메모리 옵션으로 실험 시
./final.sh: line 19: localhost.localdomain_HDB-APRE_20210616-181821.sql: No such file or directory
paste: test_result_20210616-181821: No such file or directory

메시지 출력 후 result 로그가 남지 않습니다.
10mg 옵션으로 진행 시는 문제 없지만, 100gb 옵션인 경우 발생 되는 것 같습니다.

@sysalign
Copy link

질문) 100gb의 메모리 옵션으로 실험 시
./final.sh: line 19: localhost.localdomain_HDB-APRE_20210616-181821.sql: No such file or directory
paste: test_result_20210616-181821: No such file or directory

메시지 출력 후 result 로그가 남지 않습니다.
10mg 옵션으로 진행 시는 문제 없지만, 100gb 옵션인 경우 발생 되는 것 같습니다.

100gb의 경우 외 간헐적으로 해당 에러가 발생되면서 result의 sql 결과물이 생성되지 않습니다.

@sysalign
Copy link

질문) 지난 메일로 주신 정보 중
6) 결과값 확인
result/*sql 수행 시
result/localhost.localdomain_HDB-APRE_20210616-183134.sql: line 11: 20210616-183134,: command not found
내용 출력 외에는 다른 정보가 없습니다.
혹시 설정의 문제인지 확인 부탁 드립니다.

감사합니다.

@jasonpark3306
Copy link
Collaborator Author

우선 script상의 문제가 일부 있을 수 있는데, 그 부분은 이후에 확인해보겠습니다.
$is
select count(*) from test를 수행해보시길 바랍니다.
그 결과 100G 데이타가 생성되었는지 확인 부탁합니다.

[cloud@s2600wft result]$ is
-----------------------------------------------------------------
     Altibase Client Query utility.
     Release Version 6.5.1.2.4_13
     Copyright 2000, ALTIBASE Corporation or its subsidiaries.
     All Rights Reserved.
-----------------------------------------------------------------
ISQL_CONNECTION = TCP, SERVER = localhost, PORT_NO = 20300
iSQL> select count(*) from test;
COUNT(*)
-----------------------
619763200
1 row selected.



@jasonpark3306
Copy link
Collaborator Author

Memory Tablespace의 최대 크기를 지정해 주셨는지 확인 부탁합니다.

[cloud@s2600wft conf]$ cd $ALTIBASE_HOME
[cloud@s2600wft altibase_home]$ vi conf/altibase.properties

MEM_MAX_DB_SIZE = 1000G # MEM_MAX_DB_SIZE

@jasonpark3306
Copy link
Collaborator Author

Memory DBMS이지만, 데이타가 손실되지 않기 위해서 Memory Tablespace와 동일한 디스크 용량이 필요합니다.
아래 디렉토리가 위치하는 디스크에 용량이 100G X 2배 크기 보다 충분히 큰지 확인 부탁합니다.
현재 이곳에서 테스트 하는 환경은 /data에 DBMS가 설치되어 있습니다.

[cloud@s2600wft dbs]$ cd $ALTIBASE_HOME/dbs
[cloud@s2600wft dbs]$ pwd
/data/cloud/altibase_home/dbs
[cloud@s2600wft dbs]$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  6.7G   44G  14% /
devtmpfs                 496G     0  496G   0% /dev
tmpfs                    496G     0  496G   0% /dev/shm
tmpfs                    496G   36M  496G   1% /run
tmpfs                    496G     0  496G   0% /sys/fs/cgroup
/dev/sda2               1014M  151M  864M  15% /boot
/dev/sdb1                2.0T  2.0T   53G  98% /data

@sysalign
Copy link

Memory Tablespace의 최대 크기를 지정해 주셨는지 확인 부탁합니다.

[cloud@s2600wft conf]$ cd $ALTIBASE_HOME
[cloud@s2600wft altibase_home]$ vi conf/altibase.properties

MEM_MAX_DB_SIZE = 1000G # MEM_MAX_DB_SIZE

MEM_MAX_DB_SIZE 는 저희가 수행하는 시나리오 범위 내로 지정 해두었습니다.
예) MEM_MAX_DB_SIZE = 10G
sh run.sh -s MEMORY -g 0.01 부터
sh run.sh -s MEMORY -g 10 까지 범위내로 수행

가이드 주신 내용은 다시 한번 확인 해보겠습니다.
감사합니다.

@jasonpark3306
Copy link
Collaborator Author

해당 스크립터는 연구소에서 Daily performance test 목적으로 만들었기 때문에 일부 스크립터 오류가 있습니다.
결과값을 보여주는 방법은 두가지 파트로 구성되어 있는데

하나는 수행 결과물 이고
다른 하나는 결과값을 도출하여 통계정보를 생성하여 기록 하기 위한 부분입니다.

수행 결과물이 우선 중요하며, 그 결과값은

log/manual_yyyymmdd-hhmmss.log 형식으로 저장됩니다.
이부분이 정확히 생성된다면 정상 작동하는 것으로 보시면 됩니다.

result/*sql 값이 정상작동 되지 않는 부분은 다시 확인 해보겠습니다.
이곳에서 동일한 오류가 나면 확인 가능할것 같습니다.

@jasonpark3306
Copy link
Collaborator Author

오류가 발생하시면 log/manual_yyyymmdd-hhmmss.log 파일을 보내주시면 좋겠습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants