대용량 테이블의 성능에 영향을 줄일 수 있는 10가지 방법


1. MyISAM 대신에 InnoDB를 사용하자. MyISAM은 테이블의 마지막에 insert하는 경우에는 속도가 빠르지만, 테이블 잠금(update 및 delete에 제한 되지만)이 있고, 데이터를 디스크에서 읽기와 쓰기를 할 때 경합 때문에 키 버퍼를 보호하기 위해 싱글락을 사용한다. 또한 후술하겠지만, 체인지 버퍼 기능을 가지고 있지 않다.


2. InnoDB는 유니크하지 않은 보조 인덱스의 빌딩을 지연시키는 체인지 버퍼 기능(이전에 insert buffer라고 불리던 기능)을 가지고 있다. 이에 대한 자세한 것은 Facebook의 노트에 기술되어 있다. 이것은 위의 그래프에는 보여지지 않지만, insert의 성능을 상당히 빠르게하는 것으로, 기본적으로 활성화되어 있다. 이 기능은 MySQL 5.5에서 좋게 개선 되었기 때문에, 만약 업그레이드 하지 않는 경우에는 즉시하는 것이 좋다.


3. 파티셔닝은 인덱스의 크기를 작게하여 테이블 자체를 효율적으로 작게 나눌 수 있게 된다. 또한, MySQL 5.7.2 DMR에서 상당히 개선된 내부적인 인덱스 잠금(index->lock) 경합(contention)도 줄여 준다.


4. InnoDB의 압축 기능을 사용하자. 몇몇 부하 종류의(특별히 많은 char/varchar/text형 컬럼이있는 경우) 압축 기능은 데이터를 압축해 성능 저하의 곡선을 완만하게 해준다. 또한, 일반적으로 용량이 작은 SSD를 사용해도 된다. InnoDB의 압축 기능은 Facebook에서 제공한 여러가지 패치 덕택에 MySQL 5.6에서는 크게 개선 되었다.


5. 정렬후 대용량의 데이터를 테이블에 로드해라. 정렬된 데이터를 인서트하는 것은, 페이지 분할(메모리 상에 없는 테이블에서 성능은 악화되는)이 작게 될 것이고, 대용량 데이터의 로드는 테이블의 용량과는 특별히 관계가 없지만, redo 로그의 압축 부하를 줄여주는데 도움을 준다.


6. 테이블에서 불필요한 인덱스를 지우자. 체인지 버퍼 기능을 비활성화시키는 UNIQUE 키를 특히 주의하자. 제약 조건을 사용할 이유가 없는 경우, UNIQUE 키를 사용하지 않고 일반적인 INDEX를 사용하자.


7. 5, 6에서 관련된 PRIMARY KEY의 종류도 중요하다. 성능 저하를 빠르게 만들어버리는 GUID와 같은 데이터 타입보다, INT나 BIGINT를 사용하자. PRIMERY KEY가 없는 것도 성능에 부정적인 영향을 준다.


8. 새 테이블에 대용량 데이터를 로드할 경우 PRIMARY KEY가 아닌 인덱스는 나중에 만들자. 모든 데이터가 로드된 후 인덱스를 만든다면, InnoDB는 pre-sort와 및 대용량 로드 프로세스(빠르고 인덱스가 좀 더 콤팩트한 인덱스를 만드는)를 적용 할 수 있게 된다. 이 최적화는 MySQL 5.5에서 이루어졌다.


9. 메모리가 많으면 많을수록 도움을 받을 수 있다. 최근의 메모리의 실제 가격을 비교해 보면 새로운 데이터 베이스 서버에 너무 적은 메모리를 적용하는 것을 자주 볼 수 있다. 간단한 조언을 해 보면, SHOW ENGINE INNODB STATUS의 결과에서 BUFFER POOL AND MEMORY의 reads/s의 보여주고(읽고 있음을 나타냄), Free buffers(이것도 BUFFER POOL AND MEMORY 아래에 있다)의 수가 0이면 메모리를 더 늘리면 혜택이 얻을 수 있다.(innodb_buffer_pool_size를 잘 최적화했다는 가정하에. 이 문서를 참고).


10. 메모리 뿐만 아니라, SSD도 도움이 된다. 그래프의 곡선이 하향이 되는 이유는 테이블이 커져서 일어나는 IO 속성 때문이다. 하드 디스크가 초당 200 오퍼레이션(IOPS)을 수행하는데 반해, 일반적인 SSD는 20000 IOPS 이상 수행이 가능하다

Posted by 경제/부동산/프로그래머/안드로이드/PHP/mysql/asp 당양부부

2018.08.16 11:51 IT/MySQL

MySQL 파일 위치.

1. 설치 경로.


MySQL에서 디폴트 데이터 디렉터리의 위치는 서버에 컴파일 될 때 정해진다.


[ UNIX  ]

소스 설치 : /usr/local/mysql/var

바이너리 배포 설치 : /usr/local/mysql/data

RPM 설치 : /var/lib/mysql


가 디폴트 설치 경로이다.


[설치된 위치 찾는 법]


  - mysqladmin variables

% mysqladmin variables 

+---------------+-----------------------+ 

| Variable_name     | Value                         | 

+---------------+-----------------------+

| datadir | /usr/local/mysql/var/ |

+---------------+-----------------------+


  - SHOW VARIABLES

mysql> SHOW VARIABLES LIKE 'datadir'; 

+---------------+-----------------------+ 

| Variable_nam      |  Value                        | 

+---------------+---------------------+ | 

datadir               | /usr/local/mysql/var/        | 

+---------------+-----------------------+


감사합니다.

Posted by 경제/부동산/프로그래머/안드로이드/PHP/mysql/asp 당양부부

오늘은 복층아파트 장단점에 대해 알아봅시다.

 

 

감사합니다.

 

출처 : 닥터부동산(www.drapt.com)

'경제 > 부동산' 카테고리의 다른 글

복층아파트 장단점.  (0) 2018.08.06
수익형 부동산의 과장광고  (0) 2018.07.16
타운하우스의 장단점.  (0) 2018.07.02
주택 선분양, 후분양제 장단점.  (0) 2018.06.18
습식 욕실과 건식 욕실 장단점.  (0) 2018.05.28
전전세와 전대차.  (0) 2018.05.08
Posted by 경제/부동산/프로그래머/안드로이드/PHP/mysql/asp 당양부부

오늘은 수익형 부동산의 과장광고에 대해 알아봅시다.

속으면 안되겠죠?



 

감사합니다.

 

출처 : 닥터부동산 www.drapt.com

'경제 > 부동산' 카테고리의 다른 글

복층아파트 장단점.  (0) 2018.08.06
수익형 부동산의 과장광고  (0) 2018.07.16
타운하우스의 장단점.  (0) 2018.07.02
주택 선분양, 후분양제 장단점.  (0) 2018.06.18
습식 욕실과 건식 욕실 장단점.  (0) 2018.05.28
전전세와 전대차.  (0) 2018.05.08
Posted by 경제/부동산/프로그래머/안드로이드/PHP/mysql/asp 당양부부

오늘은 타운하우스의 장단점에 대해 알아봅니다.

 

일단 돈이 좀 있어야겠죠?

 

 

감사합니다.

 

출처 : 닥터부동산 www.drapt.com

'경제 > 부동산' 카테고리의 다른 글

복층아파트 장단점.  (0) 2018.08.06
수익형 부동산의 과장광고  (0) 2018.07.16
타운하우스의 장단점.  (0) 2018.07.02
주택 선분양, 후분양제 장단점.  (0) 2018.06.18
습식 욕실과 건식 욕실 장단점.  (0) 2018.05.28
전전세와 전대차.  (0) 2018.05.08
Posted by 경제/부동산/프로그래머/안드로이드/PHP/mysql/asp 당양부부

오늘은

 

주택 선분양제도와 후분양제도의

 

장단점에 대해 알아볼께요..

 

 

감사합니다.

 

출처 : 닥터부동산 www.drapt.com

'경제 > 부동산' 카테고리의 다른 글

수익형 부동산의 과장광고  (0) 2018.07.16
타운하우스의 장단점.  (0) 2018.07.02
주택 선분양, 후분양제 장단점.  (0) 2018.06.18
습식 욕실과 건식 욕실 장단점.  (0) 2018.05.28
전전세와 전대차.  (0) 2018.05.08
생애최초 주택구입 특별분양  (0) 2018.04.23
Posted by 경제/부동산/프로그래머/안드로이드/PHP/mysql/asp 당양부부

오늘은 습식 욕실과 건식 욕실의 장단점에 대해 알아봅시다.



 

출처 : 닥터부동산. www.drapt.com

Posted by 경제/부동산/프로그래머/안드로이드/PHP/mysql/asp 당양부부

종이 전투 연속 영상(초등학교 4학년 작품)입니다.

 

4학년 초등학생 작품입니다.

 

확대되는 느낌도 주었는데 화면이 떨리는 것이 좀 흠이네요.

 

 

 

 

 

좋아요 눌러주시면 감사하지요. ^^

Posted by 경제/부동산/프로그래머/안드로이드/PHP/mysql/asp 당양부부

오늘은 전전세와 전대차 계약의 다른 점에 대해 알아봅시다.

 

 

감사합니다.

 

출처 : 닥터부동산 www.drapt.com

Posted by 경제/부동산/프로그래머/안드로이드/PHP/mysql/asp 당양부부

네트워크 패킷 분석 및 모니터링 무료 프로그램에 대해 알아봅시다.


1.WireShark (와이어샤크)


사이트 : https://www.wireshark.org

가장 흔하게 사용됩니다. 괜찮은 성능 보유.


2. Fiddler (피들러)


사이트 : http://www.telerik.com/fiddler

HTTP 모니터링 및 분석 가능. 보안 테스트 시 사용 가능.



3.Angry ip Scanner (앵그리 스캐너)

사이트 : http://angryip.org/

대규모 호스트 확인시 유용.


4.Network Miner (free edtion)

사이트 : http://www.netresec.com/?page=NetworkMiner

프로세스별 통신 모니터링에 유용함.

또한 패킷 분석 가능.


감사합니다.

Posted by 경제/부동산/프로그래머/안드로이드/PHP/mysql/asp 당양부부

블로그 이미지
경제를 좋아하는 일산의 행복한 프로그래머입니다. 감사합니다.
당양부부
Yesterday67
Today3
Total110,534

달력

 « |  » 2018.08
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

최근에 달린 댓글

최근에 받은 트랙백

글 보관함