Skip to content
컴퓨터잡담
2010.04.27 09:47

Table_open_cache 가 늘어나지 않는 이유.

조회 수 15551 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

Table_open_cache 가 늘어나지 않는 이유.


table_locks_wait 테이블_락 현상이 지속적으로 발생되어 Table_open_cache 의 수를 늘려보았지만 지정한 숫자가 아닌 임의대로 지정이 되었다.


Table_open_cache 가 max_connections 과 관련이 있다고 하여 늘이고 줄여보니 max_connections 의 숫자에 따라 Table_open_cache 가 늘어났다 줄어들었다 하는 것을 알 수 있었다.


문제는 


max_connections 의 값이 낮을수록 Table_open_cache 값이 늘어나고,

max_connections 의 값이 높을수록 Table_open_cache 값이 줄어드는 기현상이 벌어졌다.


이유가 뭘까?


해당 링크에서 답이 보이기 시작했다.


http://www.mysqlkorea.co.kr/sub.html?mcode=manual&scode=01_1&m_no=22536&cat1=827&cat2=965&cat3=1002&lang=k


일부내용을 발취하자면,



table_open_cache는 max_connections과 관련이 있다. 

예를 들면, 200개의 동시 구동 접속의 경우, 테이블 캐시의 크기는 최소 200 × N로 만들 수가 있는데, 여기에서N 은 여러분이 실행하는 쿼리 안에 있는 조인 (join) 당 테이블의 최대 숫자가 된다. 

여러분은 또한 반드시 임시 테이블 및 임시 파일에 대한 여분의 파일 디스크립터를 보관하고 있어야 한다. 여러분은 지금 사용하고 있는 OS가 table_open_cache 설정에 포함되어 있는 오픈 파일 디스크립터의 숫자를 다룰 수 있는지를 확인해야 한다. 만일 table_open_cache가 너무 크다면, MySQL은 파일 디스크립터 오류를  발생 시킨 후에 쿼리를 실행하지 못하며, 또한 매우 불안정하게 된다. 또한,  MyISAM 스토리지 엔진은 서로 다른 오픈 테이블별로 두 개의 파일 디스크립터를 필요로 한다는 점을 알고 있어야 한다. mysqld의 스타트 업 옵션인 --open-files-limit를 사용하면 MySQL에서 사용 가능한 파일 디스크립터의 숫자를 늘릴 수가 있다.


파일 오픈용 캐시는 table_open_cache 엔트리 레벨에서 관리된다. 디폴트 값은 64이다; 이 값은 --table_cache 옵션으로 변경 시킬 수가 있다. MySQL은 쿼리를 실행하기 위한 것 보다 많은 수의 테이블을 임시로 오픈 한다는 점을 알아두자.

 



파일 디스크립터?

mysqld의 스타트 업 옵션인 --open-files-limit를 사용하면 MySQL에서 사용 가능한 파일 디스크립터의 숫자를 늘릴 수가 있다?

뭐지? 



참고로 나의 서버에는 open-files-limit가 2048로 되어 있다.



MySQL은 아래의 환경이 되면 사용되지 않은 테이블을 닫고 캐시에서 삭제해 버린다:

캐시가 가득 차고 쓰레드가 캐시 안에 없는 테이블을 열고자 시도할 경우.

캐시가 table_open_cache 엔트리에 있는 것 보다 많은 것을 가지고 있고 캐시 안에 있는 테이블이 더 이상 어떠한 쓰레드에 의해서도 사용되지 않을 경우.

테이블 플러싱 연산이 발생될 경우. 이것은 누군가가 FLUSH TABLES 명령문을 입력하거나,  mysqladmin flush-tables 또는 mysqladmin refresh 명령어를 실행할 때.

테이블 캐시가 가득 차게 되면, 서버는 사용할 캐시 엔트리를 저장하기 위해서 아래의 과정을 진행한다:


사용 중에 있지 않는 테이블은 풀어 놓는다.

만일 오픈해야 할 테이블이 필요하기는 하지만 캐시가 가득 찾기 때문에 풀어 놓을 테이블이 없게 된다면, 캐시는 필요한 만큼 임시로 확장이 된다.

캐시가 임시로 확장이 되고 테이블이 사용되지 않는 상태가 되면, 테이블은 닫히고 캐시에서 풀어져 나오게 된다. 




흠,,

하단까지 읽어보았으나, 내서버는 Opend_tables 가 0이다.

아직 내서버에 나타나는 증상은 해결할 수 없다. ㅠ.ㅠ

로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
117 컴퓨터잡담 Div 사용한 클릭시 테이블 숨기고 감추기 1 2010.07.03 20000
116 컴퓨터잡담 메모리 사용계획 어떻게 할것인가? 2 2010.06.30 15380
115 컴퓨터잡담 정부의 부동산 재테크 실력은 부동산 경기침체 때 발휘한다. 2010.06.27 5714
114 컴퓨터잡담 IE 접속제어 후킹 1 2010.06.23 7421
113 컴퓨터잡담 여러개의 엑셀파일을 하나로 합치기 2 2010.06.22 57434
112 컴퓨터잡담 유동 IP시간 만료로 리부팅해야만 인터넷 사용가능한 장애원인 해결방법 2 2 file 2010.06.19 13780
111 컴퓨터잡담 Windows Firewall/Internet Connection Sharing (ICS) 서비스를 시작할 수 없습니다. 4 2010.06.19 20965
110 컴퓨터잡담 Windows와 DOS 명령 프롬프트 환경 변수 리스트 1 4 2010.06.18 11190
109 컴퓨터잡담 셀에 현재 날짜와 시간 삽입 2010.06.15 10279
108 컴퓨터잡담 엑셀 다중조건 구현하기 2010.05.13 17314
107 컴퓨터잡담 curl대신 사용할 수 있는 소스 3 2010.05.11 16388
106 컴퓨터잡담 배치파일 IF문 2010.05.07 11590
105 컴퓨터잡담 시스템은 멀쩡한데 느닷없이 mysql 접속거부의 이유는 max_connect_errors과의 연관성 2 2010.05.06 20984
104 컴퓨터잡담 [해킹차단]이런창이 뜨는 사이트들 정말 조심하길 바란다. 3 file 2010.05.04 22043
103 컴퓨터잡담 Mysql 에러메시지 2010.04.27 17554
» 컴퓨터잡담 Table_open_cache 가 늘어나지 않는 이유. 1 3 2010.04.27 15551
101 컴퓨터잡담 트위터 개발하기 3 2010.04.26 13823
100 컴퓨터잡담 블로그/사이트의 키워드 훔쳐보기^^;; 2010.04.21 9213
99 컴퓨터잡담 DB MyISAM, InnoDB 입출력 처리방식 3 2010.04.20 13814
98 컴퓨터잡담 서버에 SSD 교체 작업을 해야되나? 2010.04.20 6524
Board Pagination Prev 1 ... 39 40 41 42 43 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소