아파치 access_log 파일의 크기에 따른 아파치, 리눅스 성능차이

calm7clr의 이미지

안녕하세요. 오늘 가입한 신참입니다.
먼저 인사 꾸뻑 드리고염... :lol:

리눅스 ext3 에서 아파치 access_log 파일의 크기에 따라 아파치와 OS(리눅스)에 미치는 성능차이에 대해서 조금 심도 있게 알고 싶습니다.

알단 아파치레벨에서는 로그파일을 처음에만 읽고, 그 다음부터는 파일끝에 줄줄이 추가할테니, 특별히 아파치가 로그를 남김에 있어서 오버헤드는 크지 않을 거라고 생각되는데염.. 요녀석이 점점 커져서, 1G 이상 되는 큰 파일이 될 경우, OS 에도 과연 오버헤드가 없을 지 알고 싶습니다.

물론 아파치 로그를 rotate 하면 되지만, 현재사용하는 서비스에 하루평균 2G 가까이 access log 가 쌓여서, 아파치나 리눅스에 부담이 간다면, 6시간이나, 12시간에 한번씩 rotate 하고자 하는데염, 요렇게 하려면, 로그분석스크립트를 쫌 수정해야해서리... 이 귀차니즘을 실행하기전에 좀 근본적인 내용을 알고 싶어서 질문드립니다.

아무래도 큰파일을 핸들링하려면 뭔가 삽질을 하지 않을까 싶은데염..

그냥 막연한 내용말고, 고수님들의 경험이나 조언 부탁드립니다. :wink:

codebank의 이미지

파일을 연다고해서 파일에 대한 모든 값을 메모리로 읽어들이는건 아닙니다.
log의 경우는 단지 추가만 하는 것이기 때문에 로그파일을 분석할 필요도 없고 단순히
마지막 포인터까지 이동한다음 로그를 써주면 끝이기때문에 성능에는 전혀 관계가 없습니다.
다만 로그파일을 열어서 검색을 해야하는 관리자만이 느끼는 불편함 이겠죠. :)

P.S. : 질문과는 좀 동떨어진 이야기입니다만...
kldpBBS에서는 통신언어는 자제해주시기 바랍니다.
'~염'같은 표현은 읽는 사람에 따라서는 눈쌀을 찌푸릴 수도 있는 단어입니다.
(제가 나이가 좀 있다보니... :oops: )
될 수 있으면 통신언어는 자제해주시고 표준어로 글을 써주시길 개인적으로
부탁 드립니다.

------------------------------
좋은 하루 되세요.

maddie의 이미지

언젠가 웹서버가 너무 버벅여서 함 확인해봤는데
/var파티션이 꽉차서 에러를 내뿜고 있더군요.
그정도가 아니라면 사용에 특별히 지장이 있는 것은 아닌 것같습니다.

그런데 그 정도되는 사이트라면 로그파일의 백업도 중요할텐데 2기가의 로그파일이라면 압박이 있지 않나요? ㅡ.ㅡ webalizer같은 로그 분석툴을 돌린대도 정말 빡세겠네요.

그리고 httpd의 설정을 조절해서 특정 파일에 대해 로그를 안남길 수도 있습니다. img라던지..css라든지, js같은 파일들...일전에 제가 아파치 하우투를 보고 했던거 같은데 찾아보세요.

힘없는자의 슬픔

calm7clr의 이미지

앗... 제가 KLDP 게시판에 처음 글을 남기는 거라 실수를 했네요. 앞으로 글을 씀에 있어서 주의하도록 하겠습니다. ^^

이미지나, css 같은 static 자원들은 별도의 서버에서 돌아가고 있습니다. 로그를 줄이기 위해, 시간이나, referer 등을 빼는 건 장애 발생시 원인 추적도 어렵고...

좋은 답변들 감사드리고, 혹시 다른 경험(OS레벨에서) 있으시분 의견 부탁드립니다.

박영선의 이미지

제가 관리하는 아파치서버중에 로그가 하루에 1.5기가정도 쌓이는 서버가 있습니다..

제온2.4듀얼에 램 2기가, 36기가 10000RPM 스카시하드하나로 구성돼있거든요..

CPU loadaverage 가 많이올라가면 0.5정도...

로그파일 기록하는데 들어가는 리소스는 무시해도 될정도같습니다..

^^;;

sunyzero의 이미지

실제로 로그파일분석에서도 그림파일은 다 빼지요. 그래서 대부분 IO wait가 많이 발생할것 같으면 로그레벨을 줄이던가? 혹은 condition logging을 이용해서 로그를 밖으로 뺍니다.

SetEnvIf Request_URI "^/robots\.txt$" dontlog
SetEnvIf Request_URI ".gif$" dontlog
SetEnvIf Request_URI ".jpg$" dontlog
SetEnvIf Request_URI ".js$" dontlog
SetEnvIf Request_URI ".css$" dontlog
CustomLog logs/access_log common env=!dontlog 

이렇게 하면 보통 쓸데없는 파일들은 로깅하지 않죠. 아무리 로그라고 해도 너무 커지면 시스템에 오버헤드가 생길 가능성은 충분히 있습니다.

========================================
* The truth will set you free.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.