Using Cgroups to Limit MySQL and MongoDB, Redis memory usage

슬라이드1

 

PERCONA MYSQL PERFORMANCE BLOG Vadim Tkachenko 님의 게시글 : 

Ref : https://www.percona.com/blog/2015/07/01/using-cgroups-to-limit-mysql-and-mongodb-memory-usage/

 

요즘 많은 솔루션 및 오픈소스 프로젝트들이 In-Memory Processing 이라고 하지만…

실제로 In-Memory Architecture 기반이라고 보기는 힘든 부분이 많습니다. 그 예가 Memory Management 입니다.

MySQL 의 경우에는 my.cnf 를 보시면 대부분의 설정값들은 memory allocate 를 합니다.

innodb_buffer_pool_size + innodb_log_buffer_size + innodb_sort_buffer_size + * _size …

이렇게 할당된 값의 총합 + @ 만큼 메모리가 할당됩니다.

그런데말입니다. 문제는 이 값들이 갈수록 갈수록 늘어난다는 말입니다!! memory fragmentation !!

그래서, cgroup 으로 OS 레벨에서 강제로 limit 를 걸어야 하는 경우가 생깁니다.

또, 다른 방법으로 numactl 로 memory affinity 하는겁니다.

 

Cgroups 란?

Ref : http://www.slideshare.net/sprdd/linux-performan-tuning-part-1

 

MySQL vs NUMA

Ref : http://blog.jcole.us/2010/09/28/mysql-swap-insanity-and-the-numa-architecture/

 

그리고, 이런 이슈는 MySQL, MongoDB 말고도 대부분의 In-Memory 기반에서 문제가 되고 있습니다.

 

Deview 2014 : ARCUS 차별 기능, 사용 이슈, 그리고 카카오 적용 사례

Ref  : http://deview.kr/2014/session?seq=9

 

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중