- innodb setting , DB 튜닝




* 수정 방법
        - my.ini 나 my.cnf 파일을 수정한다.
        C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

            - MariaDB의 경우
        C:\Program Files\MariaDB 10.3\data\my.ini


innodb_buffer_pool_size=1024M
     - 전체 메모리의 50~60% 권장

innodb_page_size=16k

- page size 변경은 성능에 영향을 미치지 않는다.(기본 16k면 충분)
https://mariadb.com/resources/blog/does-innodb-page-size-matter/


//=============
* 설정 확인 방법
SHOW VARIABLES LIKE 'innodb%';

        - 상태보기
SHOW STATUS LIKE 'innodb_buffer_pool%';



//========================
* AWS RDS,  MySQL DB 설정 보기
    -> RDS -> 파라메터 그룹

    기본 설정 : 2G 서버에 innodb_buffer_pool_size=1G 로 설정됨


//=============

참고


http://gywn.net/2012/09/mysql-tuning/

    innodb_buffer_pool_size
    InnoDB에게 할당하는 버퍼 사이즈로 50~60%가 적당하며, 지나치게 많이 할당하면 Swap이 발생할 수 있습니다.
    innodb_log_file_size
    트랜잭션 로그를 기록하는 파일 사이즈이며, 128MB ~ 256MB가 적당합니다.
    innodb_log_files_in_group
    트랜잭션 로그 파일 개수로  3개로 설정합니다.
    innodb_flush_log_at_trx_commit
    서비스 정책에 따라 다르게 설정하겠지만, 저는 일반적으로 2값으로 세팅합니다.
    – 0: 초당 1회씩 트랜잭션 로그 파일(innodb_log_file)에 기록
    – 1: 트랜잭션 커밋 시 로그 파일과 데이터 파일에 기록
    – 2: 트랜잭션 커밋 시 로그 파일에만 기록, 매초 데이터 파일에 기록
    innodb_doublewrite
    이중으로 쓰기 버퍼를 사용하는지 여부를 설정하는 변수로 활성화 시 innodb_doublewrite 공간에 기록 후 데이터 저장합니다. 저는 활성화합니다.
    sync_binlog
    트랜잭션 커밋 시 바이너리 로그에 기록할 것인지에 관한 설정이며, 저는 비활성 처리합니다.


'Code > Web' 카테고리의 다른 글

HTTP 상태 코드  (0) 2019.02.12
bootstrap.css 없이 glyphicons 아이콘 사용하기  (0) 2019.02.11
[DB] MySQL 서버 InnoDB 관련 설정값 변경  (0) 2019.02.11
[DB] MariaDB 사용기  (0) 2019.02.11
[DB] PpostgreSQL 사용기  (0) 2019.02.11
CDN 속도 측정 비교 - CloudFlare Forever  (0) 2019.02.09
Posted by 코덴스

댓글을 달아 주세요