티스토리 뷰

카테고리 없음

[cs/server/db]

onlyun 2024. 3. 28. 04:47
  1. key_buffer_size = 4096M:
    • 설명: key_buffer_size는 MyISAM 인덱스를 캐시하는 데 사용되는 메모리 버퍼의 크기를 지정합니다.
    • 이유: MyISAM 엔진에서는 인덱스를 메모리에 캐시하여 검색 속도를 향상시키는 데 사용됩니다. 인덱스는 데이터베이스에서 자주 검색되는 항목이므로 이를 메모리에 적재함으로써 디스크 I/O를 줄이고 성능을 향상시킬 수 있습니다. 따라서 적절한 크기의 버퍼를 할당하여 인덱스 캐싱을 최적화해야 합니다.
  2. read_buffer_size = 8M:
    • 설명: read_buffer_size는 단일 테이블에서 한 번에 읽을 수 있는 데이터의 크기를 지정합니다.
    • 이유: MySQL 서버는 테이블을 읽을 때 디스크에서 데이터를 읽어오는데, 이 때 읽을 데이터의 크기를 지정하는 것입니다. 큰 크기의 읽기 버퍼를 사용하면 단일 I/O 작업에서 더 많은 데이터를 읽어올 수 있어서 성능이 향상될 수 있습니다. 하지만 너무 큰 크기의 버퍼를 설정하면 메모리를 과도하게 사용할 수 있으므로 적절한 크기를 선택해야 합니다.
  3. sort_buffer_size = 8M:
    • 설명: sort_buffer_size는 정렬 작업을 수행할 때 사용되는 메모리 버퍼의 크기를 지정합니다.
    • 이유: 정렬은 데이터베이스 작업에서 자주 발생하는 연산 중 하나이며, 정렬을 위해 임시로 메모리에 데이터를 저장해야 합니다. sort_buffer_size를 적절하게 설정하면 디스크 I/O를 줄이고 정렬 속도를 향상시킬 수 있습니다. 그러나 너무 큰 값을 설정하면 메모리 부족으로 인한 성능 저하가 발생할 수 있으므로 주의해야 합니다.
  4. table_open_cache = 5000:
    • 설명: table_open_cache는 데이터베이스에서 열 수 있는 테이블의 최대 개수를 지정합니다.
    • 이유: MySQL은 각 테이블을 열 때마다 시스템 리소스를 소비합니다. 이러한 리소스 사용을 최소화하기 위해 테이블을 열 때마다 새로운 핸들을 만드는 대신 테이블을 캐시에 저장하여 재사용합니다. 이를 통해 시스템 리소스 사용을 줄이고 성능을 향상시킬 수 있습니다. 그러나 너무 많은 테이블을 열 수 있으면 메모리 사용이 증가하여 다른 프로세스에 영향을 줄 수 있으므로 적절한 값으로 설정해야 합니다.
  5. thread_cache_size = 256:
    • 설명: thread_cache_size는 스레드 캐시의 크기를 지정합니다.
    • 이유: MySQL은 각 클라이언트 요청에 대해 스레드를 생성하여 처리합니다. 스레드 생성 및 삭제에는 시간과 리소스가 소모되므로 매번 새로운 스레드를 생성하는 것보다 기존에 생성된 스레드를 재사용하는 것이 효율적입니다. 스레드 캐시를 사용하면 스레드 생성 및 삭제에 따른 오버헤드를 줄일 수 있으며, 따라서 성능을 향상시킬 수 있습니다. 그러나 너무 큰 값을 설정하면 메모리 사용이 증가할 수 있으므로 적절한 값으로 설정해야 합니다.
  6. wait_timeout = 28800:
    • 설명: wait_timeout은 클라이언트가 MySQL 서버에 연결된 상태로 대기할 수 있는 시간을 지정합니다.
    • 이유: 클라이언트가 서버에 연결되어 있을 때 일정 시간 동안 활동이 없으면 MySQL 서버는 연결을 종료합니다. 이를 통해 사용자가 비활성 상태로 있는 연결을 재사용하고, 시스템 리소스를 최적화할 수 있습니다. 기본값은 28800초(8시간)이며, 대부분의 경우 적절한 값으로 설정되어 있습니다.
  7. interactive_timeout = 3600:
    • 설명: interactive_timeout은 대화형 연결(예: MySQL 셸)에 대해 대기할 수 있는 시간을 지정합니다.
    • 이유: MySQL 서버와의 대화가 유지되는 시간을 제어합니다. 대화형 연결은 보통 대기 시간이 짧아야 하므로 이 값을 적절히 설정하여 사용자 경험을 향상시킬 수 있습니다.
  8. connect_timeout = 60:
    • 설명: connect_timeout은 클라이언트가 서버에 연결하는 데 소요될 수 있는 시간을 지정합니다.
    • 이유: 클라이언트가 MySQL 서버에 연결하는 데 소요되는 시간을 제어합니다. 연결
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/01   »
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
글 보관함