[김성민]님이 남기신 글:
>안녕하세요,
>
>제가 전에부터 궁금해 하던 것입니다.
>사용자 계정을 VirtualHost 로 만들고, log 도 별도로
지정하였습니다.
>sub 라는 사용자를 추가후 httpd.conf 에서 VirtualHost 로
지정하였고, 로그도 /usr/local/apache/logs/sub.access_log 와 같이
별도로 지정하였습니다.
>그리고서, 이 sub 계정에 300 M 짜리 파일을 올려놓구서 다른
컴으로 다운로드를 하였습니다. 업로드시 시간이 상당히
걸리는데, 리눅스 root 로 로그인후 상황을 보았습니다.
>전에 알려주신 top 명령을 이용해 한번 보았지요.
>예상대로 sub 사용자의 cpu 사용률이 제일 높게
나왔습니다.
>반대로 브라우저로 다운로드도 해봤습니다.
>이것도 예상했던바와 같이 안 나왔습니다. ftp 접속상태에서
다운로드를 하면 나오겠지만, 외부 컴에서 브라우저로
이용할때에는 httpd 밖에 안 나올것이라는 예상을 하고
있었습니다.
>
>궁금한것은 sub 계정에서 부하를 발생시키고 있을때 알수 있는
방법이 있는가 하는 겁니다. ftp 접속이 아닌 웹접속시에
말입니다.
>제가 친구에게 이 sub 계정을 주었고, 친구는 이 계정을 이용해
와레즈를 운영한다고 하면, 파일 다운로드가 어마어마 할것
이죠?
>그럼, 정작 주인장인 저는 이놈이 와레즈를 운영하고 있구나..
하는 것을 알아야 짜르던지 할것인데, 어느계정에서 부하
발생을 시키고 있는지를 모르면 답답하겠죠..
>그래서, tail -f ... 와 같이 해당 로그를 보기도 하였으나,
일일이 그렇게 확인할수가 없는 것 아닐까 하는 생각이
듭니다.
>
>요지는 계정이 여러개일 경우 누구 계정에서 자원을 많이 쓰고
있는가를 정확하게 파악할수 있는 방법이 있을까 하는
겁니다.
>
>감사합니다.
========================================
답변이 늦었군요..
일단은 쉬운 방법이 없습니다.
왜냐하면 웹서버의 자식프로세스는
일반적으로 모두 nobody이기
때문이죠.
다만
로그 파일을 분석해서 어느 싸이트가 가장
많은 파일을 전송했는지 알고 보는 방법밖에 없습니다.
webalizer 를 같은 분석기를 사용해 보세요..
|