
나는 오랫동안(약 7년) 연중무휴로 데비안을 실행하는 컴퓨터를 가지고 있습니다. 2주 전에 나는 서버의 위치를 옮기고 Debian Jessie로 업그레이드하기로 결정했습니다(wheezy로 실행 중이었습니다).
매 5~6분마다 서버가 약 20초 동안 어떤 연결에도 응답하지 않는다는 점을 제외하면 모든 것이 잘 진행되었습니다.
언제 그런 일이 발생하는지 확인하는 스크립트를 만들었습니다. 시간은 다음과 같습니다.
2017-01-12 16:16:05 TIMEOUT!
2017-01-12 16:21:49 TIMEOUT!
2017-01-12 16:27:32 TIMEOUT!
2017-01-12 16:33:13 TIMEOUT!
2017-01-12 16:39:01 TIMEOUT!
...
2017-01-12 17:07:59 TIMEOUT!
2017-01-12 17:13:47 TIMEOUT!
2017-01-12 17:19:25 TIMEOUT!
서버에서 실행 중인 가상 머신이 있고 패킷이 지연 없이 정상적으로 도달합니다. 80, 443, 9000 등과 같은 서버의 다양한 포트를 테스트했으며 모두 시간 초과되었습니다. 예를 들어 ssh를 실행하는 서버에서 시간 초과 중에 명령을 시도하면(예: "ls"를 3번 입력) 복구 후 3개의 "ls"를 수신하고 실행합니다.
서버의 로그를 확인해 보았지만 관련된 정보를 찾을 수 없었습니다.
편집: 핑을 계속 실행하면 시간 초과가 표시되지 않습니다.
EDIT2: 좋아요, 또 다른 이상한 점이 있습니다. 서버에서 ssh에 액세스하고 시간 초과가 시작될 때 ping 8.8.8.8(또는 텍스트를 출력하는 모든 명령)을 실행하면 CTRL+C를 눌러 취소하면 아무런 문제 없이 ping의 텍스트 출력을 볼 수 있습니다. , 핑의 최소/평균/최대 상태가 표시되지만 명령(예: "ls")을 입력하면 서버를 다시 사용할 수 있을 때까지 기다렸다가 파일 목록을 표시합니다.
EDIT3: 따라서 디스크와 관련된 것일 수 있습니다. sda는 삼성 SSD 840 Pro 120GB 입니다.
iostats는 다음을 보여줍니다:
정상적인 행동:
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.00 2.00 0.00 20.00 20.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.00 2.00 0.00 20.00 20.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-1 0.00 0.00 0.00 2.00 0.00 20.00 20.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
시간 초과 동작:
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 0.00 136.00 0.00 69124.00 1016.53 127.69 1053.93 0.00 1053.93 7.35 100.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 16.00 0.00 18.50 0.00 540.00 58.38 0.10 5.51 0.00 5.51 1.19 2.20
dm-0 0.00 0.00 0.00 1.00 0.00 4.00 8.00 521.34 363490.00 0.00 363490.00 1000.00 100.00
dm-1 0.00 0.00 0.00 1.00 0.00 4.00 8.00 521.35 363492.00 0.00 363492.00 1000.00 100.00
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
답변1
사용 후iostat그리고아이오톱진단을 위해 문제는 데이터베이스를 디스크에 지속시키는 redis-server에 있었고 데이터베이스 증가로 인해 어떤 이유로 디스크에 기록된 블록 네트워크 트래픽이 시간 초과(디스크에 쓰기 대량 쓰기)의 원인이라는 것을 발견했습니다. ).
디스크에 지속성이 필요하지 않기 때문에 비활성화하고 이제 다시 훌륭하게 작동하지만 redis-server가 왜 이런 식으로 작동하는지 모르겠습니다.