디스크에 대량 쓰기를 식별하는 방법은 무엇입니까?


9

CakePHP 응용 프로그램을 실행하는 서버 에이 문제가 있습니다. 서버가 엄청 느리다. 처음에는 응용 프로그램 문제라고 생각했지만 디스크에 5-6MB / s의 지속적인 쓰기를 발견했습니다.

이러한 무거운 쓰기의 원인을 찾는 가장 쉬운 방법은 무엇입니까?

서버가 젠투를 실행 중입니다.

답변:



17

Dstat의 저자로서 추가 옵션을 가리킬 것입니다. 가장 많은 I / O 대역폭을 사용하는 프로세스를 쉽게 확인할 수 있습니다.

dstat -ta --top-bio

또는 dstat -ta --top-io

첫 번째는 최상위 블록 I / O이고 두 번째는 상위 I / O입니다 (캐시 포함). 이를 통해 소비자가 소비 할뿐만 아니라 소비자가 원하는 것인지를 검증 할 수 있습니다.

디스크 사용률을 식별하는 데 도움이되는 다른 플러그인이 있습니다.

dstat -tdf --disk-util

따라서 I / O 병목 현상이 발생하면 어떤 디스크가 관련되어 있는지 알려주므로 해당 시점에서 어떤 작업을 수행 할 수 있는지 확인할 수 있습니다.

특정 (네트워크) 파일 시스템 문제를 해결하는 경우 다른 플러그인을 사용하여 해당 파일 시스템에 대한 자세한 정보를 얻을 수 있습니다. Dstat에는 또한 다른 메트릭 (cpu, VM, 가상화 등)을위한 플러그인이 있으며 시각화해야하는 내용에 따라 고유 한 플러그인을 작성하거나 기존 플러그인을 수정하여 상관 관계를 정확히 표시 할 수 있습니다.

그러나 도움이 필요하거나 새로운 아이디어를 제공하거나 멋진 아이디어를 원한다면 저에게 연락하여 진행 방법을 확인하십시오.


3

당신은 멋진 dstat 도구를 사용할 수 있습니다


3

dstat 매뉴얼 페이지에서- 'dstat -M time, cpu, net, disk, sys, load, proc, topcpu'. dstat는 대부분의 배포판과 함께 설치되므로 iotop을 설치하는 것보다 빠릅니다.


3

vmstat 및 iostat를 사용해보십시오


1

다음 명령을 사용하여 syslog에서 디스크 활동 (pid 생성 디스크와 함께)을 덤프 할 수 있습니다.

echo 1 > /proc/sys/vm/block_dump

이를 발행하기 전에 시스템 로그가 블록 장치에 있지 않은지 확인하십시오. 그렇지 않으면 무한 루프 상태가됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.