모든 것이 올바르고 최적으로 작동하는지 확인하기 위해 데이터베이스에서 MySQLTuner를 실행했지만 이 두 값에 사용된 단위에 대해 혼란스러웠습니다.
성능 측정항목의 출력은 다음과 같습니다.
-------- Performance Metrics -------------------------------------------------
[--] Up for: 2d 5h 11m 20s (47M q [249.471 qps], 45M conn, TX: 65B, RX: 8B)
[--] Reads / Writes: 79% / 21%
[--] Total buffers: 1.1G global + 2.7M per thread (300 max threads)
[!!] Maximum possible memory usage: 1.9G (198% of installed RAM)
[OK] Slow queries: 0% (43/47M)
[OK] Highest usage of available connections: 5% (17/300)
[OK] Key buffer size / total MyISAM indexes: 600.0M/128.0K
[OK] Key buffer hit rate: 100.0% (17K cached / 0 reads)
[OK] Query cache efficiency: 98.1% (46M cached / 47M selects)
[!!] Query cache prunes per day: 22728
[OK] Sorts requiring temporary tables: 0% (9 temp sorts / 65K sorts)
[!!] Joins performed without indexes: 2839
[OK] Temporary tables created on disk: 0% (235 on disk / 42K total)
[OK] Thread cache hit rate: 99% (79 created / 45M connections)
[!!] Table cache hit rate: 1% (400 open / 27K opened)
[OK] Open file limit used: 0% (0/1K)
[OK] Table locks acquired immediately: 100% (1M immediate / 1M locks)
[!!] Connections aborted: 99%
[!!] InnoDB data size / buffer pool: 6.5G/128.0M
하지만 내 질문은 이 줄에 관한 것입니다.
[OK] Key buffer size / total MyISAM indexes: 600.0M/128.0K
단위가 무엇을 의미하는지, 크기가 얼마나 다른지 모르겠습니다. 'M'과 'K'는 무엇입니까?
내 키 버퍼 크기가 MyISAM 인덱스보다 커야 한다는 것을 알고 있지만 단위를 이해하지 못하기 때문에 그것이 맞는지 알 수 없습니다. 온라인으로 문의했지만 원하는 답변을 찾을 수 없습니다. 누군가 나에게 이 점을 명확히 해줄 수 있다면 정말 감사하겠습니다.
답변1
M은 메가바이트, K는 킬로바이트,
key_buffer_sizeMyISAM 엔진과 관련된 MySQL 설정입니다.
모든 테이블에 InnoDB 엔진을 사용하는 경우 작은(0이 아닌 key_buffer_size)만 필요하고 큰 innodb_buffer_pool_size가 필요합니다.
나는 강력히 추천하고 싶다이 웹페이지MySQL 최적화라는 매우 복잡한 것에 대한 간단한 답변을 제공하기 때문입니다. 따라서 많은 시간을 소비하고 싶지 않고 "비교적 좋은" 것으로 구성하면 됩니다. 저기로가.