2016-10-19 2 views
0

memasached를 실행하여 memcached의 동작을 이해하려고합니다. 당신은 내가 더 인 1,716,802에있는 양, get_misses이 볼 수 있듯이memaslap의 get_misses 이해하기

Get Statistics (3157196 events) 
    Min:  36 
    Max:  17957 
    Avg:  545 
    Geo: 533.99 
    Std: 167.05 
    Log2 Dist: 
     4:  0  0  11  271 
     8:  2813 1379137 1706845 66407 
     12:  1110  446  152  4 

Set Statistics (350829 events) 
    Min:  60 
    Max:  16184 
    Avg:  547 
    Geo: 536.33 
    Std: 161.65 
    Log2 Dist: 
     4:  0  0  3  28 
     8:  313 151210 191252  7861 
     12:  112  40  10 

Total Statistics (3508025 events) 
    Min:  36 
    Max:  17957 
    Avg:  545 
    Geo: 534.22 
    Std: 167.17 
    Log2 Dist: 
     4:  0  0  14  299 
     8:  3126 1530347 1898097 74268 
     12:  1222  486  162  4 

cmd_get: 3157252 
cmd_set: 350837 
get_misses: 1716802 
written_bytes: 608669765 
read_bytes: 1610227982 
object_bytes: 381710656 

Run time: 30.0s Ops: 3508089 TPS: 116914 Net_rate: 70.5M/s 

(로컬 컴퓨터에) 내가 사용하는 명령은

memaslap -s localhost:11212 -T 64 -c 64 --verbose -S 1s -t 30s 

이며, 이것은 내가 얻을 출력 memaslap에서 보낸 get 요청의 50 % 이상을 차지합니다. get_miss가 무엇을 의미하는지 궁금합니다. 나는 http://docs.libmemcached.org/bin/memaslap.html 에서 문서를 확인하고 노골적으로

get_misses 서버 에서 입수 할 수없는 얼마나 많은 객체

이 서버에서 키를하지 것은 무엇을 의미 하는가라고? 열쇠가 없거나 대기 시간 때문입니까? 키가 없기 때문에이 요청을 보내면 정확하게 테스트 할 수 있습니까?

답변

0

get 명령을 실행하는 동안 캐시 미스가 얼마나 많은지, 즉 키를 찾을 수없는 횟수가 표시됩니다.

캐시 누락이있는 주된 이유는 퇴거입니다. Memcached는 일부 항목을 메모리에서 제거하여 새 항목을위한 여유 공간을 확보합니다. 사용할 수있는 더 많은 RAM 것이다 memcached를 경우 get_misses 수 드롭해야

(예 : RAM 1GB의에 대한 -m 1G를)