18.4.25 ndb_size.pl - NDBCLUSTER 크기 요구 사항 추정기
이것은 NDBCLUSTER
스토리지 엔진을 사용하도록 변경된 경우, MySQL 데이터베이스에 의해 요구되는 공간의 크기를 추정하기 위해 사용할 수있는 Perl 스크립트입니다. 이 섹션에서 설명하는 다른 유틸리티와는 달리, MySQL Cluster에 액세스 할 필요가 없습니다 (실제로 액세스 할 이유가 없습니다). 그러나 테스트 데이터베이스가 MySQL 서버에 액세스 할 필요가 있습니다.
요구 사항
실행 된 MySQL 서버. 서버 인스턴스가 MySQL Cluster의 지원을 제공 할 필요가 없습니다.
Perl의 올바른 설치.
DBI
모듈 (아직 Perl 설치의 일부가 아닌 경우는 CPAN에서 얻을 수 있습니다) (많은 Linux 및 기타 운영 체제 배포에서는이 라이브러리의 독자적인 패키지가 제공되고 있습니다).필요한 권한이있는 MySQL 사용자 계정. 기존의 계정을 사용하지 않으려는 경우,
GRANT USAGE ON
를 사용하여 작성하는 것만으로이 용도에는 충분합니다. 여기서db_name
.*db_name
은 검사 할 데이터베이스의 이름입니다.
ndb_size.pl
는 storage/ndb/tools
에서 MySQL 소스에서도 찾을 수 있습니다.
다음 표는 MySQL Cluster 프로그램 ndb_size.pl 고유의 옵션이 포함되어 있습니다. 추가 설명이 표 다음에 있습니다. 대부분의 MySQL Cluster 프로그램 (ndb_size.pl 포함)에 공통되는 옵션은 섹션 18.4.27 "MySQL Cluster 프로그램에 공통 옵션 - MySQL Cluster 일반적인 프로그램 옵션" 을 참조하십시오.
표 18.95이 표는 ndb_size.pl 프로그램의 명령 행 옵션에 대해 설명하고 있습니다
형식 | 설명 | 추가 또는 삭제 |
---|---|---|
| 검사 데이터베이스. 쉼표로 구분 된 목록을 지정할 수 있습니다. 기본값은 ALL입니다 (서버에서 발견 된 모든 데이터베이스가 사용됩니다) | 모든 MySQL 5.6 기반 자료 |
| 호스트 및 옵션 포트를 host [: port]로 지정합니다 | 모든 MySQL 5.6 기반 자료 |
| 연결하는 소켓을 지정합니다 | 모든 MySQL 5.6 기반 자료 |
| MySQL 사용자 이름을 지정합니다 | 모든 MySQL 5.6 기반 자료 |
| MySQL 사용자의 암호를 지정합니다 | 모든 MySQL 5.6 기반 자료 |
| 출력 형식 (텍스트 또는 HTML)을 설정합니다 | 모든 MySQL 5.6 기반 자료 |
| 테이블의 쉼표로 구분 된 목록에서 테이블을 생략합니다 | 모든 MySQL 5.6 기반 자료 |
| 데이터베이스의 쉼표로 구분 된 목록의 데이터베이스를 건너 뜁니다 | 모든 MySQL 5.6 기반 자료 |
| 데이터베이스에 대한 모든 쿼리를 지정한 파일에 저장합니다 | 모든 MySQL 5.6 기반 자료 |
| 지정한 파일에서 모든 쿼리를로드합니다. 데이터베이스에 연결하지 않습니다 | 모든 MySQL 5.6 기반 자료 |
| 고유 인덱스 크기 계산을 처리하는 테이블을 지정합니다 | 모든 MySQL 5.6 기반 자료 |
사용법
perl ndb_size.pl [--database = {db_name
| ALL}] [--hostname =host
[:port
]] [--socket =socket
\ [--user =user
] [--password =password
] \ [--help | -h] [--format = {html | text}] \ [--loadqueries =file_name
] [--savequeries =file_name
]
기본적으로이 유틸리티는 서버의 모든 데이터베이스를 분석하려고합니다. --database
옵션을 사용하면 단일 데이터베이스를 지정할 수 있습니다. 기본 동작을 명시 적으로 지정하려면 데이터베이스 이름에 ALL
을 사용합니다. 하나 이상의 데이터베이스를 제외하려면 --excludedbs
옵션을 사용하여 건너 뛰기 데이터베이스 이름의 쉼표로 구분 된 목록을 지정합니다. 마찬가지로 특정 테이블을 건너 뛰려면 옵션 --excludetables
옵션에 계속 그 이름을 쉼표로 구분하여 나열합니다. 호스트 이름을 지정하려면 --hostname
을 사용합니다. 기본값은 localhost
입니다. 호스트 이외에 포트를 지정하려면 --hostname
값으로 host
: port
형식을 사용합니다. 기본 포트 번호는 3306입니다. 필요에 따라 소켓도 지정할 수 있습니다. 기본값은 /var/lib/mysql.sock
입니다. MySQL 사용자 이름 및 암호가 표시되어있는 해당 옵션으로 지정할 수 있습니다. 출력 형식을 제어하려면 --format
옵션을 사용합니다. 여기에는 값 html
또는 text
를 지정할 수있어 text
가 기본입니다. 텍스트 출력의 예를 보여줍니다.
shell> ndb_size.pl --database=test --socket=/tmp/mysql.sock
ndb_size.pl report for database : 'test'(1 tables)
--------------------------------------------------
Connected to : DBI : mysql : host = localhost; mysql_socket = / tmp / mysql.sock
Including information for versions : 4.1, 5.0, 5.1
test.t1
-------
DataMemory for Columns (* means varsized DataMemory) :
Column Name Type Varsized Key 4.1 5.0 5.1
HIDDEN_NDB_PKEY bigint PRI 8 8 8
c2 varchar (50) Y 52 52 4 *
c1 int (11) 4 4 4
- - -
Fixed Size Columns DM / Row 64 64 12
Varsize Columns DM / Row 0 0 4
DataMemory for Indexes :
Index Name Type 4.1 5.0 5.1
PRIMARY BTREE 16 16 16
- - -
Total Index DM / Row 16 16 16
IndexMemory for Indexes :
Index Name 4.1 5.0 5.1
PRIMARY 33 16 16
- - -
Indexes IM / Row 33 16 16
Summary (for THIS table) :
4.1 5.0 5.1
Fixed Overhead DM / Row 12 12 16
NULL Bytes / Row 4 4 4
DataMemory / Row 96 96 48
(Includes overhead, bitmap and indexes)
Varsize Overhead DM / Row 0 0 8
Varsize NULL Bytes / Row 0 0 4
Avg Varside DM / Row 0 0 16
No. Rows 0 0 0
Rows / 32kb DM Page 340 340 680
Fixedsize DataMemory (KB) 0 0 0
Rows / 32kb Varsize DM Page 0 0 2040
Varsize DataMemory (KB) 0 0 0
Rows / 8kb IM Page 248 512 512
IndexMemory (KB) 0 0 0
Parameter Minimum Requirements
------------------------------
* indicates greater than default
Parameter Default 4.1 5.0 5.1
DataMemory (KB) 81920 0 0 0
NoOfOrderedIndexes 128 1 1 1
NoOfTables 128 1 1 1
IndexMemory (KB) 18432 0 0 0
NoOfUniqueHashIndexes 64 0 0 0
NoOfAttributes 1000 3 3 3
NoOfTriggers 768 5 5 5
디버깅을 위해이 스크립트에 의해 실행되는 쿼리가 포함 된 Perl 배열은 --savequeries
을 사용하여 파일에 저장할 수 있습니다. 스크립트 실행시에 읽을 그러한 배열이 포함 된 파일은 --loadqueries
를 사용하여 지정할 수 있습니다. 이 옵션의 기본값은 없습니다.
출력을 HTML 형식으로 생성하려면 다음과 같이 --format
옵션을 사용하여 출력을 파일로 리디렉션합니다.
shell> ndb_size.pl --database=test --socket=/tmp/mysql.sock --format=html > ndb_size.html
(리디렉션하지 않는 경우, 출력은 stdout
로 전송됩니다).
이 스크립트의 출력에는 다음 정보가 포함되어 있습니다.
분석 된 테이블을 수용하기 위해 필요한
DataMemory
,IndexMemory
,MaxNoOfTables
,MaxNoOfAttributes
,MaxNoOfOrderedIndexes
,MaxNoOfUniqueHashIndexes
및MaxNoOfTriggers
구성 매개 변수의 최소.데이터베이스에 정의 된 모든 테이블, 속성, 정렬 된 인덱스 및 고유 한 해시 인덱스의 메모리 요구 사항.
테이블과 테이블 행마다 필요한
IndexMemory
및DataMemory
.