source

query_cache_size, Qcache_total_blocks 및 query_alloc_block_size

itover 2023. 2. 4. 08:22
반응형

query_cache_size, Qcache_total_blocks 및 query_alloc_block_size

쿼리 캐시 블록사이즈는 query_alloc_block_size에 따라 결정됩니다.이 경우 기본 8K입니다.

query_cache_size/Qcache_total_blocks를 계산하면 1~4K 범위의 숫자가 나옵니다.왜 시간이 지남에 따라 변했을까요?query_block_size와 다른 이유는 무엇입니까?

또한 query_cache_min_res_unit 기본값은 4K입니다.query_alloc_block_size보다 작은 이유는 무엇입니까?query_alloc_block_size의 배수가 필요하지 않을까요?

분명히 내가 아주 근본적인 것을 오해하고 있는 것 같다.

글쎄요, 구체적인 질문에 대답할 수 없습니다.

QC에 대한 내 의견: 쿼리를 실행하는 테이블에 적은 수의 쓰기라도 수행하면 QC를 끄십시오.

기타 메트릭 및 조언(설정할 경우):

  • - QC 기 -- --query_cache_size
    8e6~100e6MB의 범위를 벗어나면 너무 작음 = 별로 쓸모가 없습니다.너무 = 너무 큽니다. 이치노0 합니다.
  • free PCT p p p 。Qcache_free_memory / query_cache_size
    0~100%입니다.범위를 벗어나면 lower query_cache_size를 낮추면 다른 용도로 RAM이 해방되지만 시간이 지남에 따라 빈 공간이 달라지기 때문에 이 판독치에는 속지 않을 수 있습니다.
  • 빈 공간이 부족합니다.QC의 빈 공간이 합니다.Qcache_lowmem_prunes / Uptime
    ~ .0 ~15/secmake/nowledge를 합니다..
  • 무시되었습니다. SQL_CACHE는 무시되었습니다.Qcache_not_cached / Uptime
    ~ 0 ~40 / 를를/ 。캐시를 를 조정합니다.
  • -- QC에서 캐시되지 않은 SELECT 비율 --Qcache_not_cached / (Qcache_hits + Com_select + Qcache_not_cached)
    0~30%로 하다.범위를 벗어나는 경우 QC는 그다지 유용하지 않습니다.
  • -- " " " " 。Qcache_free_blocks * 4096 / query_cache_size
    .0~1을 추천합니다..
  • - - 입입 ( is을 ) hit hit hit hit hit hit hit hit hit hit hit hit hit hit 。Qcache_hits / Qcache_inserts
    1 ~ 캐시를 .범위를 벗어나는 경우 쿼리 캐시를 해제하십시오.
  • QC -- 중률 -- -- 중 select SELECT -- 를 。Qcache_hits / (Qcache_hits + Com_select)
    25~% 캐시를 .범위를 벗어나는 경우 쿼리 캐시를 해제하십시오.
  • " " " " --Qcache_hits / (Qcache_hits + Qcache_inserts + Qcache_not_cached)
    ~% QC를 .QC를 사용하다
  • - " " " " "Qcache_queries_in_cache
    권장(높은 값 선호) 500 ~100000
  • 쿼리 캐시의 플래그멘테이션. --Qcache_free_blocks / Qcache_total_blocks
    0~30%를 권장합니다.범위를 벗어나면 여러 가지가 있습니다.
  • 무효 수/초. --Qcache_inserts - Qcache_queries_in_cache / Uptime
    0 ~ 100/sec를 권장합니다.
  • query_block_size vs 공식 --(query_cache_size - Qcache_free_memory) / Qcache_queries_in_cache / query_alloc_block_size
    0.5에서 2를 권장합니다.범위를 벗어나는 경우 query_alloc_block_size를 조정합니다.
  • 하위 쿼리 캐시 적중률 --Subquery_cache_hit / ( Subquery_cache_hit + Subquery_cache_miss )
    권장(높은 값을 선호) 60~100%범위를 벗어나는 경우 SET optimizer_switch='subquery_cache=off'를 고려하십시오.
  1. 진실의
  2. query_cache_size가 GLOBAL 또는 SESSION 중 하나 또는 query_cache_block_size가 GLOBAL 또는 SESSION 중 하나로 설정되어 있는 경우 query_cache_size/cache_block_size = 응답의 결과는 다를 수 있습니다.Qcache_total_blocks는 항상 현재 이 계산의 결과입니다.
  3. 쿼리 결과를 저장하기 위해 필요한 최소 바이트로 query_cache_min_res_unit을 생각하십시오.하나의 query_alloc_block_size에 수천 개의 카운트 결과를 저장할 수 있습니다.QC 메모리를 절약하려면 최소 512를 사용하는 것이 좋습니다.이 링크를 클릭하면 도움이 됩니다.https://dev.mysql.com/doc/refman/5.7/en/query-cache-configuration.html

언급URL : https://stackoverflow.com/questions/45259529/query-cache-size-qcache-total-blocks-and-query-alloc-block-size

반응형