16.6.2.8 memcached 로그
-v
, -vv
또는 -vvv
옵션을 사용하여 중복 모드를 활성화하면 memcached가 출력하는 정보에 실행중인 작업에 대한 자세한 추가됩니다.
중복 옵션을 지정하지 않으면 일반적으로 memcached의 정상적인 작동 중에 출력이 생성되지 않습니다.
-v
사용시 출력가장 낮은 중복 수준에서는 다음이 표시됩니다.
오류 및 경고
일시적인 오류
프로토콜 및 소켓 오류 (사용 가능한 연결의 부족 등)
등록 된 개별 클라이언트 연결 (사용되는 소켓 디스크립터 번호와 프로토콜 포함).
예 :
32: Client using the ascii protocol 33: Client using the ascii protocol
소켓 디스크립터는 클라이언트가 연결되어있는 동안 만 유효합니다. 영구적이지 않은 연결이 표시되지 않을 수 있습니다.
이 수준에서 출력되는 오류 메시지의 예를 보여줍니다.
<%d send buffer was %d, now %d Can't listen for events on fd %d Can't read from libevent pipe Catastrophic: event fd doesn't match conn fd! Couldn't build response Couldn't realloc input buffer Couldn't update event Failed to build UDP headers Failed to read, and not due to blocking Too many open connections Unexpected state %d
-vv
사용시 출력두 번째 중복 수준을 사용하면 프로토콜의 동작 업데이트 된 키 청크와 네트워크의 동작 및 정보에 대한 자세한 정보가 제공됩니다.
이 중복 레벨에서 memcached를 시작하면 먼저 개별 슬라브 클래스의 크기 청크 크기 및 슬라브 당 항목 수가 표시됩니다. 이들은 슬래브가 할당되었다는 것이 아니라, 데이터가 추가 될 때 생성되는 슬래브를 나타냅니다. 정보를 전송하는 데 사용되는 대기 큐 및 버퍼에 대한 정보도 표시됩니다. 기본 메모리 및 증가 계수를 포함한 TCP / IP 기반 시스템에 대해 생성 된 출력의 예를 보여줍니다.
shell> memcached -vv slab class 1: chunk size 80 perslab 13107 slab class 2: chunk size 104 perslab 10082 slab class 3: chunk size 136 perslab 7710 slab class 4: chunk size 176 perslab 5957 slab class 5: chunk size 224 perslab 4681 slab class 6: chunk size 280 perslab 3744 slab class 7: chunk size 352 perslab 2978 slab class 8: chunk size 440 perslab 2383 slab class 9: chunk size 552 perslab 1899 slab class 10: chunk size 696 perslab 1506 slab class 11: chunk size 872 perslab 1202 slab class 12: chunk size 1096 perslab 956 slab class 13: chunk size 1376 perslab 762 slab class 14: chunk size 1720 perslab 609 slab class 15: chunk size 2152 perslab 487 slab class 16: chunk size 2696 perslab 388 slab class 17: chunk size 3376 perslab 310 slab class 18: chunk size 4224 perslab 248 slab class 19: chunk size 5280 perslab 198 slab class 20: chunk size 6600 perslab 158 slab class 21: chunk size 8256 perslab 127 slab class 22: chunk size 10320 perslab 101 slab class 23: chunk size 12904 perslab 81 slab class 24: chunk size 16136 perslab 64 slab class 25: chunk size 20176 perslab 51 slab class 26: chunk size 25224 perslab 41 slab class 27: chunk size 31536 perslab 33 slab class 28: chunk size 39424 perslab 26 slab class 29: chunk size 49280 perslab 21 slab class 30: chunk size 61600 perslab 17 slab class 31: chunk size 77000 perslab 13 slab class 32: chunk size 96256 perslab 10 slab class 33: chunk size 120320 perslab 8 slab class 34: chunk size 150400 perslab 6 slab class 35: chunk size 188000 perslab 5 slab class 36: chunk size 235000 perslab 4 slab class 37: chunk size 293752 perslab 3 slab class 38: chunk size 367192 perslab 2 slab class 39: chunk size 458992 perslab 2 <26 server listening (auto-negotiate) <29 server listening (auto-negotiate) <30 send buffer was 57344, now 2097152 <31 send buffer was 57344, now 2097152 <30 server listening (udp) <30 server listening (udp) <31 server listening (udp) <30 server listening (udp) <30 server listening (udp) <31 server listening (udp) <31 server listening (udp) <31 server listening (udp)
이 중복 레벨을 사용하면 다른 메모리 할당을 포함 슬래브에 사용되는 성장 인자의 효과를 효과적으로 확인할 수 있습니다. 또한 그 결과를 사용하여 캐시에 저장되는 데이터에 따라 증가 계수를 조정할 수 있습니다. 예를 들어, 증가 계수를 4로 설정 (각 석판의 크기가 4 배가되었다) 경우 :
shell> memcached -f 4 -m 1g -vv slab class 1: chunk size 80 perslab 13107 slab class 2: chunk size 320 perslab 3276 slab class 3: chunk size 1280 perslab 819 slab class 4: chunk size 5120 perslab 204 slab class 5: chunk size 20480 perslab 51 slab class 6: chunk size 81920 perslab 12 slab class 7: chunk size 327680 perslab 3 ...
이 중복 레벨에서 캐시를 사용할 때 키 및 기타 정보의 저장과 복구에 대한 자세한 정보도 출력됩니다. 일반 설정 / 취득 및 증가 / 감소 작용하는 출력의 예를 보여줍니다.
32: Client using the ascii protocol <32 set my_key 0 0 10 >32 STORED <32 set object_key 1 0 36 >32 STORED <32 get my_key >32 sending key my_key >32 END <32 get object_key >32 sending key object_key >32 END <32 set key 0 0 6 >32 STORED <32 incr key 1 >32 789544 <32 decr key 1 >32 789543 <32 incr key 2 >32 789545 <32 set my_key 0 0 10 >32 STORED <32 set object_key 1 0 36 >32 STORED <32 get my_key >32 sending key my_key >32 END <32 get object_key >32 sending key object_key1 1 36 >32 END <32 set key 0 0 6 >32 STORED <32 incr key 1 >32 789544 <32 decr key 1 >32 789543 <32 incr key 2 >32 789545
클라이언트 통신 중 각 행의 첫 글자는 정보 흐름 방향을 나타냅니다. <클라이언트에서 memcached 서버 간의 통신>은 클라이언트와의 통신을 각각 나타냅니다. 숫자는이 연결 소켓 디스크립터를 나타내는 수치입니다.
-vvv
사용시 출력이 중복 레벨 클라이언트 사이에서 콘텐츠의 읽기 및 쓰기를 수행하는 동안 이벤트 라이브러리의 다양한 연결 상태 전이가 포함되어 있습니다. 이것은 클라이언트 통신의 문제를 진단하고 식별하는 데 사용합니다. 예를 들어,이 정보를 사용하여 클라이언트 작업 읽거나 조작이 반환 완료하기 전에 memcached 클라이언트에 정보를 반환하는 데 오랜 시간이 걸려 있는지를 확인할 수 있습니다. 설정 조작의 일반적인 순서의 예를 보여줍니다.
<32 new auto-negotiating client connection 32: going from conn_new_cmd to conn_waiting 32: going from conn_waiting to conn_read 32: going from conn_read to conn_parse_cmd 32: Client using the ascii protocol <32 set my_key 0 0 10 32: going from conn_parse_cmd to conn_nread > NOT FOUND my_key >32 STORED 32: going from conn_nread to conn_write 32: going from conn_write to conn_new_cmd 32: going from conn_new_cmd to conn_waiting 32: going from conn_waiting to conn_read 32: going from conn_read to conn_closing <32 connection closed.
memcached의 모든 중복 수준은 문제의 디버깅 또는 조사 중에 사용하도록 설계되어 있습니다. 생성되는 정보 (특히 -vvv
를 사용했을 때)의 양 (특히 사용량이 많은 서버에서) 중요합니다. 오류 정보를 (특히 디스크에) 보내면 memcached를 사용하여 달성 한 성능 향상 부분이 상쇄 될 수 있습니다. 따라서 프로덕션 환경에서 배포 환경에서의 사용은 권장되지 않습니다.