Memcached에는 get_hits가 없습니다.

Memcached에는 get_hits가 없습니다.

포트 8080의 Apache와 Apache의 역방향 프록시인 포트 80의 Nginx를 사용하는 Centos 6의 memcached에 문제가 있습니다. 모든 정적 파일을 캐시하기 위해 Memcached를 설치합니다. 다음은 nginx에 대한 memcached 구성입니다.

server {
access_log off;
error_log  logs/vhost-error_log warn;
listen    80;
server_name  xxx.com www.xxx.com;


location ~* ^.+.   (js|css|jpg|jpeg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|swf|pdf|ico|zip|rar|iso|doc|xls|exe|ppt|txt|tar|mid|midi|wav|bmp|rtf|ogv|flv|mpeg|mpg|mpeg4|mp4|avi|wmv|docx|xlsx|pptx|3gp|7z|acc|gzip|img|m4a|m4v|mkv|mov|msi|chm|rm|w3g|w3x|log|dll)$ {
            root /home/xxx/domains/xxx.com/public_html;

            expires      max;
            set $memcached_key $uri;
            memcached_pass     127.0.0.1:11211;
            error_page  404 = @apache;
            access_log  /var/log/httpd/domains/xxx.com.log;
            log_not_found  off;
    }

Memcached가 듣고 있지만 사이트를 여러 번 탐색했지만 설정된 세션이 없습니다.

Every 2.0s: netstat -natp |grep :11211                                                                                         Mon Mar  2 13:50:47 2015

tcp        0      0 127.0.0.1:11211             0.0.0.0:*                   LISTEN      10504/memcached
tcp        0      0 127.0.0.1:38126             127.0.0.1:11211             TIME_WAIT   -
tcp        0      0 127.0.0.1:38124             127.0.0.1:11211             TIME_WAIT   -
tcp        0      0 127.0.0.1:38144             127.0.0.1:11211             TIME_WAIT   -
tcp        0      0 127.0.0.1:38127             127.0.0.1:11211             TIME_WAIT   -
.....

memcached 통계는 다음과 같습니다.

STAT pid 10504
STAT uptime 469 
STAT time 1425279094
STAT version 1.4.4
STAT pointer_size 64
STAT rusage_user 0.023996
STAT rusage_system 0.067989
STAT curr_connections 5
STAT total_connections 383 
STAT connection_structures 6
STAT cmd_get 145 
STAT cmd_set 0   
STAT cmd_flush 0
STAT get_hits 0
STAT get_misses 145 
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 10726    
STAT bytes_written 181940 
STAT limit_maxbytes 1073741824
STAT accepting_conns 1
 STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0 
STAT bytes 0        
STAT curr_items 0   
STAT total_items 0   
STAT evictions 0

get_miss가 성장하는 동안에는 get_hit 번호가 없습니다. 무슨 일이 일어나고 있는지 알아낼 수 있도록 도와주세요. 감사해요

답변1

음, 귀하의 memcached 서버에는 데이터가 없습니다( STAT total_items 0).
그래서 nginx는 145개의 항목을 조회하려고 시도했지만 그 중 아무것도 얻지 못했습니다.

그것은 완전히 정확합니다.
Nginx는 해당 구성으로 memcached에 아무 것도 저장하지 않습니다. (실제로는 비표준 모듈을 통해서만 그렇게 할 수 있다고 생각하지 않습니다.https://github.com/bpaquet/ngx_http_enhanced_memcached_module).
따라서 memcached에 데이터를 저장하는 프로세스를 파악해야 합니다.

관련 정보