728x90

심심한데 MySQL 의 key_buffer_size 에 대해서 토론보자

db 를 빠르게 하려면 OS (리소스 많이 않쓰는 OS), 그리고 CPU, RAM 이런게 용량많고 빠르면 장땡이다

하드웨어 OS는 위에 말했든이 매우 간단 하니까 대충 넘어가면 된다. 그냥 용량많고 빠르면ㅈ ㅏㅇ떙이다
* 하지만 본인 비지니스의 예산 에맞춰서 고르는게 좋겠다 *

MYSQL 서버의 query 현제 performance는 benchmark() 를통해 확인이 가능하다

mysql> select benchmark(100000, 10 + 11)
//이건 10 + 11 이란 expression 을 10000번 돌리는거다

+--------------------------+
| benchmark(1000000,10+11) |
+--------------------------+
| 0 |
+--------------------------+
1 row in set (0.08 sec)

//두번째 row의 result 항상 0이다

하지만 benchmark 를 햇는데 존나느릴시 문제가 있는거다

그럼 key_buffer_size를 고쳐서 튜닝의 첫단계를 할수가있다.

key_buffer_size는 mysql이 사용하는 index 들의 buffer 사이즈다

그리고 이게 높을수록 query속도는 빠름

그리고 이 buffer의 정밀한 속도를 확인하려면

mysql > show status;
를 할시

key_read_requests, key_reads, key_write-requests, key-writes
이 4개의 parameter를 return한다.

여기서 key_reads / key_read_requests & key_writes / key_write_requests 를 하면 두 결과 모두 1 이하인데 이건 낮으면 낮을수록 좋다는 뜻이다.

이걸 더 낮게 하려면 key_buffer_size를 늘리면 된다.

하지만 key_buffer_size를 많이 늘리면 오히려 서버가 느려질수도있다.

예를들어 현제 시스탬에 메모리가 512MB인데 여기서 적절한 key_buffer_size는 256mb정도 이다.

 

출처 : http://gall.dcinside.com/list.php?id=programming&no=342770&page=1&bbs=

728x90

'DB' 카테고리의 다른 글

ORACLE GRANT SELECT  (0) 2013.01.15
ORACLE 9I NVL('STR','')='STR'  (0) 2013.01.15
스크립트에서 프로시져 실행  (0) 2013.01.08
java.sql.SQLExeption: 내부 표기로 변환할 수 없습니다.  (0) 2013.01.08
부적합한 열 인덱스  (0) 2013.01.08

+ Recent posts