Server

mysql 튜닝 방법

by 보석 posted Aug 25, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄


해당 튜닝 방법은 김정균님의 튜닝글을 가져온것이다.

린프리닷컴은 웹서버운영에 필요한 자료를 모으는 공간이다.


# MySQL 설정 File
# 작성 김정균
###########################################################################
#
# 이 파일에는 MySQL 의 전체적인 설정이 들어간다. [ client ] 설정은 각 유저
# 들의 홈디렉토리 ~user/.my.cnf 라는 파일로 만들어 설정을 할수 있다. 이 설
# 정 파일들의 퍼미션은 소유자 readonly 즉 600 을 유지해야 한다.
#
# 현설정 파일은 Plll 700 Mhz 에 RAM 512 M 를 기준으로 MySQL 전용 서버로 작
# 하는 경우를 기준으로 작성이 되어 있다. 각 시스템에 대한 설정은 아래의 파
# 일들을 참조 하도록 한다.
#
# PATH /usr/share/mysql
# my-huge.cnf MySQL 전용으로 메모리가 1-2G 일 경우
# my-large.cnf MySQL 전용으로 메모리가 512 이상일 경우
# my-medium.cnf MySQL 전용으로 메모리가 32-64M 정도일 경우나
# 메모리가 128 이상이면서 다른 데몬과 같이 서비스 될 경우
# my-small.cnf MySQL 전용으로 메모리가 64M 이하일 경우
#
# 메모리가 32M 보다 작을 경우에는 my.cnf 설정을 사용 하지 말고 디폴트 값을
# 사용하도록 한다.

###########################################################################
# MySQL Clinet 설정
###########################################################################
[client]
password = blahblah
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = euckr


###########################################################################
# MySQL Server 설정
###########################################################################
# 다음 사항을 잘 고려하여 설정을 해야 한다.
# key_buffer_size+(record_buffer+sort_buffer)*max_connections <실메모리양
#
# key_buffer 는 실 메모리의 1/4 정도면 무난하다.
#
# 또한 table_cache 는
# (MaxFileOpen-MaxConnection-(temporary table 에 사용되는 파일핸들) ) / 2
# 을 고려하여 설정을 한다.(단 너무 크게 잡을 필요는 없으며 최대 동시 접속
# 자 수의 1.5-2 배 정도라고 생각하면 된다. 즉 500 으로 지정이 되어 있으면
# DB 의 테 # 이블의 총수가 500개 까지는 모두 캐싱이 가능하다. 위의 공식은
# 최대값이라 생각을 하면 된다.)
#
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
#skip-show-database
skip-locking
skip-name-resolve
#skip-networking
key_buffer = 512M
max_allowed_packet = 4M
table_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
myisam_sort_buffer_size = 64M
thread_cache = 8
thread_stack = 126976
max_connections = 200
join_buffer_size = 1M

max_connect_errors = 1024
wait_timeout = 30
old_passwords = 0
#tmpdir = /dev/shm
#log_slow_queries = /var/log/mysql/slow.log

read_rnd_buffer_size = 8M
thread_cache_size = 8

# sql cache 사용
#
# query 캐쉬 사용 옵션
# 0 -> 사용안함
# 1 -> 사용함
# 2 -> 선택적 사용
# http://www.mysql.com/doc/en/Query_Cache_Configuration.html 참고
query_cache_type = 1
query_cache_size = 512M
query_cache_limit = 2M

# CPU 갯수 * 2 를 해서 설정을 한다. 1 개일 경우에는 설정 필요가 없다.
thread_concurrency = 4

# Charset 설정
#
# 기본 언어셋 설정은 /etc/sysconfig/mysql 의 default_char 을 함
character-set-client-handshake = 0
#character-set-server = euckr
#default-collation = euckr_korean_ci
#init_connect = 'set names euckr'

# 메시지 언어 선택
language = /usr/share/mysql/korean/

# MySQL 의 리플리케이션 기능을 사용하기 위한 binary log 설정
#log-bin
#server-id = 1

# InnoDB 테이블 설정
#
# innodb 를 사용하지 않을 경우에는 아래를 설정한다.
skip-innodb

# innodb 를 위한 경로 설정
#innodb_data_home_dir = /var/lib/mysql/
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
#innodb_log_group_home_dir = /var/log/mysql/
#innodb_log_arch_dir = /var/log/mysql/

# _buffer_pool_size 를 RAM 의 50-08% 정로도 설정한다. 하지만 이 경우 메모리
# 사용량을 너무 많이 잡아 먹을 수도 있으므로 어느정도 시스템 모니터링을 하도
# 록 한다.
#innodb_buffer_pool_size = 384M
#innodb_additional_mem_pool_size = 20M

# _log_file_size 는 buffer pool size 의 25% 정도로 설정한다.
#innodb_log_file_size = 100M
#innodb_log_buffer_size = 8M
#innodb_lock_wait_timeout = 50

# 0 => commit 시 로그 파일에 바로 기록 안함
# 1 => commit 시 로그 파일에 바로 기록
# 2 => commit 시 OS 레벨의 파일 캐쉬에 기록 (3.23.52 추가)
#innodb_flush_log_at_trx_commit = 2


###########################################################################
# MySQL dump 설정
###########################################################################
[mysqldump]
quick
max_allowed_packet = 16M

###########################################################################
# MySQL
###########################################################################
[mysql]
no-auto-rehash

###########################################################################
# Isamchk
###########################################################################
[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

###########################################################################
# Myisamchk
###########################################################################
[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

###########################################################################
# Mysqlhotcopy
###########################################################################
[mysqlhotcopy]
interactive-timeout

# Local variables:
# tab-width: 4
# c-basic-offset: 4
# End:
# vim600: noet sw=4 ts=4 fdm=marker
# vim<600: noet sw=4 ts=4



Articles

1 2 3 4