database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30322 게시물 읽기
No. 30322
innodb_buffer_pool_size에 관해서 질문드립니다. 박현우님 봐주세요
작성자
이제환(mcskyzxkk)
작성일
2012-09-12 14:49:00
조회수
3,346

서버 저장장치를 SSD 120G로 놓고 쿼리처리성능에 대해 테스트를 해봤는데

innodb_buffer_pool_size를 높이니까 성능이 더 좋아지는 결과가 나왔습니다.

그런데 서버 저장장치 자체가 메모리를 끌어쓰는 SSD인데 innodb_buffer_pool_size를 높인다고 해도 제가 생각하기론

결과에 변화가 없어야 맞다고 생각하는데 이상하게 innodb_buffer_pool_size를 높이니까 성능이 더 좋아지더군요

 MYSQL를 아직 잘 몰라서 그러는데  innodb_buffer_pool_size를 높인다는건 버퍼캐시 용량을 키우는것 아닌가요?

만약 버퍼캐시용량을 크게 만드는게 맞다고 한다면 어차피 저장장치도 SSD이기 때문에 버퍼캐시용량을 키워도 결과는 똑같이 나와야하는데

innodb_buffer_pool_size를 높이니 성능이 좋아져서 뭐가 어떻게 된건지 잘 모르겠습니다. ㅠㅠ

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

여기서 제가 제일 중요한 것을 빼먹었는데 보통 SSD가 아닌 DRAM-SSD(메모리와 D-SSD의 메모리는 동일모델)라는 것을 빼먹었네요

그러면 innodb_buffer_pool_size를 높여도 같은 메모리니 성능이 같아야 되지 않을까요? 혹시

MYSQL만의 다른것이 또 있나요?

이 글에 대한 댓글이 총 4건 있습니다.

 

 

제가 댓글에도 달았는데.. 안보셨나보네여 ?

 

버퍼풀이 높이는게 더 좋져 디스크를 거치지 않고 버퍼만 거쳐서 결과를 리턴 하는데

 

당연히 비용이 줄고 성능이 좋아지는거죠...

 

 

민족님이 2012-09-12 15:52:22에 작성한 댓글입니다. Edit

 

 

거의 대부분의 dbms 가 이런 구조 이죠

 

oracle 이라고 DISK 영역 ssd 로 바꾼다고 해서 성능이 크게 좋아지지 않습니다.

 

db cache size  부족할때 SSD 를 달면 성능이 좋아 지지만

 

cache size 부족할대 size 증가 하면 성능 더 좋아 집니다.

 

그래서 왠만해서는 데이터 영역은 ssd 로 셋팅 하지 않고

 

log 영역을 셋팅 하는 경우가 있습니다.

민족님이 2012-09-12 15:54:24에 작성한 댓글입니다. Edit

DRAM기반 SSD라고 해도, 커널이나 애플리케이션 입장에서 보면 디스크에 쓰기 동작을 가하는 행위는 동일합니다. 따라서, 한 번이라도 더 함수 호출이 발생하게 됩니다.

 

innodb_buffer_pool_size가 적은 경우, 일부 풀을 해제하고 디스크로부터 데이터를 읽어 다시 풀에 써 넣어야 하는데, 애초에 풀 크기가 여유가 있었다면 이러한 작업이 일어나는 빈도가 낮아질 것입니다. 아무리 메모리에서 메모리로의 복사라고 해도 PCI-E 를 통해 옮겨와야 하니, 부하가 있을 것으로 보입니다.

 

박현우(lqez)님이 2012-09-14 19:48:17에 작성한 댓글입니다.

두분 답변 다 많은 도움이 되었습니다 감사드립니다

이제환(mcskyzxkk)님이 2012-09-15 17:09:49에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
30325Not Null 로 했는데 데이타가 들어 가는 문제 문의 입니다 [1]
조대길
2012-09-15
3122
30324mysql 패치 여부 판단할수 있는 쿼리나 명령어 있나요? [1]
이송천
2012-09-14
2804
30323쿼리문에서 구분자로 나누기 질문입니다.
이기자
2012-09-13
3658
30322innodb_buffer_pool_size에 관해서 질문드립니다. 박현우님 봐주세요 [4]
이제환
2012-09-12
3346
30321조인된 중복된 레코드중에 특정컬럼의 값이 제일 큰 레코드를 선택하고 싶습니다. [1]
김현철
2012-09-11
3419
30320innodb_buffer_pool_size에 관해서 질문드립니다. [2]
이제환
2012-09-10
3470
30319mysql select 구문 - 2번째 이후의 데이터 불러오기 [2]
건들면삐짐
2012-09-10
3326
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2017 DSN, All rights reserved.
작업시간: 0.071초, 이곳 서비스는
	PostgreSQL v9.6.3으로 자료를 관리합니다