리눅스 파일시스템의 성능 측정을 위한 툴을 만들고 있습니다.
대략적인 계획은 vfs 단에서 read,write에 대한 command list와 response time 등을 추출할 것인데,
초보라서 어떻게 시작을 해야 할 지 감이 영 오질 않습니다.
관련 자료나 팁을 주시면 감사하겠습니다~~
가장 일반적인 방법이라면 원하는 위치에 tracepoint를 삽입하고
적당한 함수를 등록하여 데이터를 뽑아내는 것일 것입니다.
(보통 event tracing을 통해 미리 데이터를 수집하는 코드를 작성해 둡니다)
ext4 파일 시스템에 이러한 코드가 구현되어 있으니 참조하시면 될 것 같고
다만 write의 경우 write를 요청한 시점과 실제로 disk I/O가 일어나는 시점 (writeback)이
다르므로 이를 고려하려면 writeback:* 및 block:* 관련된 tracepoint를 함께 보셔야 할 것입니다.
예전에 lmbench 에서 그런 항목을
예전에 lmbench 에서 그런 항목을 benchmark 하는것을 보았습니다..... ^^;;; ( 아닐수도 있습니다... ㅜ.ㅜ; )
-----------------------------------------------------
세상은 인간이 해결해야할 문제들로 가득차 있다.
tracepoint
가장 일반적인 방법이라면 원하는 위치에 tracepoint를 삽입하고
적당한 함수를 등록하여 데이터를 뽑아내는 것일 것입니다.
(보통 event tracing을 통해 미리 데이터를 수집하는 코드를 작성해 둡니다)
ext4 파일 시스템에 이러한 코드가 구현되어 있으니 참조하시면 될 것 같고
다만 write의 경우 write를 요청한 시점과 실제로 disk I/O가 일어나는 시점 (writeback)이
다르므로 이를 고려하려면 writeback:* 및 block:* 관련된 tracepoint를 함께 보셔야 할 것입니다.
ftrace, perf, blktrace 등에 대해서도 검색해 보세요..
댓글 달기