1

주제: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

태터 1.1.3을 쓰고 있는 계정 유저입니다.

어제 글을 쓰고 트랙백을 했는데(트랙백 대상 포스트 주소는 http://drzekil.tistory.com/294 입니다.),
뭐가 문제였는지는 모르겠는데 호스팅 업체에서 전화가 왔습니다.

호스팅 업체에서 로그 파일 두개 주고 해결하라는데, 태터 관련 로그라 원인파악을 잘 못하겠습니다.

아파치 로그만 보면 제가 어제 트랙백한 글에서 index.gif 를 계속 가져가는 것 같은데 MySQL에서는 태터 세션테이블을 계속 손대는 것 같네요.
첨부한 쿼리가 부하 걸린 로그에서 1/4 정도만 자른거라고 하는데요.
아파치 로그에서 부하 걸릴만한 것은 index.gif 가져가는 것밖에 없어보이는데 MySQL 부하는 세션테이블이니까 어떻게 된 영문인지 잘 모르겠네요.

프로그래머이긴 한데 php 를 몰라서 보고 있을 여력이 좀 안되구요...
백업도 못해두어서 티스토리로 옮기지도 못하고 public_html 폴더 퍼미션 막혀서 테스트도 하기 어렵네요.
호스팅업체에서는 해결되면 전화달라고 하는군요.

트래픽 초과는 봤지만 CPU 초과로 막혀서 좀 당황스럽네요;;
원인 파악좀 부탁드립니다.
꾸벅(__)

ps. 첨부파일 올리면 어디 표시되나요? 포스트를 보니 첨부파일이 나타나지 않네요.

Heart (2007-08-07 16:27:32)에 의해 마지막으로 수정

2

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

글을 편집하면서 첨부파일을 지정하시면 저장하면서 하단에 꼬랑지로 붙습니다.
첨부파일을 봐야 뭐라고 답변을 드릴 수 있는 건이라 ;;;;

잠수...

3

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

글 쓰면서 계속 시도했었는데 첨부파일이 올라가지 않네요. phpBB에서 파일 사이즈나 확장자 등에 제한이 걸려 있는 것 같은데...
zip 파일은 첨부가 안되나요?

Heart (2007-08-08 00:14:11)에 의해 마지막으로 수정

4

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

혹시 50만 바이트 용량제한에 걸린 것이 아닐까 싶습니다.^^

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

5

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

일단 가장 간단하게 막으려면 blog 디렉토리의 index.gif.php를 살짝 이름을 바꾼다거나 (index.gif.php_ 정도가 좋겠네요) .htaccess의 내용 중에서
RewriteRule ^[[:alnum:]]+/+index\.gif$ blog/index.gif.php [E=SURI:1,L]
요렇게 생긴 줄을 찾아서 앞에 #을 써 주세요.^^

그 쪽 블로그에서 블로그 아이콘이 있는지 알아볼려고 이쪽 서버에 리퀘스트를 보내면 그 때마다 blog/index.gif.php가 파일을 파싱해서 보내주는데, 그 과정에서 파서가 돌아가기 위해서 거치는 여러가지 작업 중에 세션 생성이 있기 때문에 발생하는 일입니다.

텍스트큐브 1.5에선 rss나 blogicon은 세션 생성 안하도록 뜯어 고쳐야겠네요. 반영하도록 하겠습니다.^^

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

6

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

inureyes 작성:

그 쪽 블로그에서 블로그 아이콘이 있는지 알아볼려고 이쪽 서버에 리퀘스트를 보내면 그 때마다 blog/index.gif.php가 파일을 파싱해서 보내주는데, 그 과정에서 파서가 돌아가기 위해서 거치는 여러가지 작업 중에 세션 생성이 있기 때문에 발생하는 일입니다.

답변 감사드립니다 ^^ gif 파일 요청에 왜 DB 테이블을 검색하는 것인가 조금 혼란스러웠는데 머릿속에 정리가 되네요.

몇가지 질문 더 드릴께요.

1. index.gif.php를 열어보고 favicon.ico.php을 보니 세션테이블 손대는 부분이 동일한 것 같은데... favicon.ico도 같은 방식인 것 같네요.
둘 다 막아야하겠죠?

2. index.gif 파일 요청에 실패하면 상대 블로그에서는 단순히 제 블로그 아이콘만 표시되지 않는 것이죠?(favicon도 마찬가지로요.)

3. 그리고, 이건 좀 다른 이야기겠지만(다른 곳에 올려야한다면 위치좀 알려주세요 ^^;;)
오늘 티스토리가 꽤 긴 시간동안 서비스 중지 상태로 있었는데, 이 문제와 관련이 있는지도 궁금합니다.
블로그를 티스토리에도 운영하고 있거든요.

더운 여름 시원하게 보내시길~

Heart (2007-08-08 01:10:04)에 의해 마지막으로 수정

7

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

생각을 좀 해 봤는데 묘안이 없네요. 어떻게 해도 결국 블로그 이름을 통해서 blogid는 알아야 하기 때문에 DB 접속을 배제할 방법이 생각이 나지 않습니다. ㅠ_ㅠ

혹시 좋은 생각 있으신 분? 아예 블로그 아이콘 저장 자체를 블로그 이름으로 하면 유니크하니까 괜찮을까요? 그러면 DB 접속 없이 htaccess쪽에서 리퀘스트 들어온 것만 분석해서 그 이름의 파일을 날려주면 될 것 같기는 합니다만...

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

8

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

Heart 작성:
inureyes 작성:

그 쪽 블로그에서 블로그 아이콘이 있는지 알아볼려고 이쪽 서버에 리퀘스트를 보내면 그 때마다 blog/index.gif.php가 파일을 파싱해서 보내주는데, 그 과정에서 파서가 돌아가기 위해서 거치는 여러가지 작업 중에 세션 생성이 있기 때문에 발생하는 일입니다.

답변 감사드립니다 ^^ gif 파일 요청에 왜 DB 테이블을 검색하는 것인가 조금 혼란스러웠는데 머릿속에 정리가 되네요.

근데, index.gif.php를 열어보고 favicon.gif.php을 보니 세션테이블 손대는 부분이 동일한 것 같은데...
favicon.ico도 같은 방식인 것 같네요. 둘 다 막아야하겠죠?

그리고, 이건 좀 다른 이야기겠지만(다른 곳에 올려야한다면 위치좀 알려주세요 ^^;;)
오늘 티스토리가 꽤 긴 시간동안 서비스 중지 상태로 있었는데, 이 문제와 관련이 있는지도 궁금합니다.
블로그를 티스토리에도 운영하고 있거든요.

더운 여름 시원하게 보내시길~

티스토리는 잘 모르겠습니다만, 블로그 아이콘과는 관련이 없을겁니다. smile 그랬으면 진작에 뻗었겠지요.

지난 태터캠프때 다음쪽 티스토리 담당자 분을 모셔서 발표 듣고 청문회도 했는데, 그 때 본 바로는 그 쪽 성장 그래프가 최근에 거의 90도를 그리면서 위로 올라가고 있던데요. 미리 수요를 예측할래야 예측이 안 되었던 상황인 듯 합니다. '부랴부랴 서버 수급 주문 넣어서 막 하드웨어 도착했습니다' 그런 이야기 하시던데, 그게 7월 21일이니 지금쯤 새 서버들 셋업 끝나서 붙이고 있겠네요.^^

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

9

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

Heart 작성:

1. index.gif.php를 열어보고 favicon.ico.php을 보니 세션테이블 손대는 부분이 동일한 것 같은데... favicon.ico도 같은 방식인 것 같네요.
둘 다 막아야하겠죠?

옙 트래픽 부분이면 거길 막아야 됩니다.^^

Heart 작성:

2. index.gif 파일 요청에 실패하면 상대 블로그에서는 단순히 제 블로그 아이콘만 표시되지 않는 것이죠?(favicon도 마찬가지로요.)

옙~! 아무 이상 없습니다. 없는 경로로 접근 시도했다고 워닝은 뜨겠네요^^

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

10

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

inureyes님 답변 감사합니다 ^^

아참, 그리고 제 생각도 index.gif나 favicon.ico 파일을 직접 저장해야 되지 않나 생각합니다.
단순하게 생각하면 아이콘 파일 요청인데, 파싱에 DB 액세스까지 일어나는 구조라면... 개선의 필요성은 있지 않을까 생각해 봅니다.
(주제넘게 참견하는 것이 아닌가 조심스러운 생각이 드네요...;;)

혹시 DB 액세스가 필요한 이유가 1설치 다수 블로그 운영 때문인가요?
그렇다면 말씀하신대로 파일명을 다르게 주고 URLRewrite나 기타 방법을 활용하는 방안으로 해결이 가능하다면 깔끔할 것 같은데...
htaccess에 대한 지식이 없어서 이렇게도 가능한지는... 모르겠네요;;

Heart (2007-08-08 01:35:37)에 의해 마지막으로 수정

11

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

Heart 작성:

inureyes님 답변 감사합니다 ^^

아참, 그리고 제 생각도 index.gif나 favicon.ico 파일을 직접 저장해야 되지 않나 생각합니다.
단순하게 생각하면 아이콘 파일 요청인데, 파싱에 DB 액세스까지 일어나는 구조라면... 개선의 필요성은 있지 않을까 생각해 봅니다.
(주제넘게 참견하는 것이 아닌가 조심스러운 생각이 드네요...;;)

혹시 DB 액세스가 필요한 이유가 1설치 다수 블로그 운영 때문인가요?
그렇다면 말씀하신대로 파일명을 다르게 주고 URLRewrite나 기타 방법을 활용하는 방안으로 해결이 가능하다면 깔끔할 것 같은데...
htaccess에 대한 지식이 없어서 이렇게도 가능한지는... 모르겠네요;;

아이고 주제넘게라뇨. 전혀 조심스러워 하실 필요 없습니다. 저희도 Heart님처럼 시작했다가 여기까지 온 사람들입니다. ^^

원래대로라면 결자해지를 외쳐드려야 할 상황이지만 (그리고 저희는 Heart님을 기대의 눈망울로 바라보는겁니다. 그게 불문율) 생각도 못했던 곳에서 정곡을 찔렸기 때문에 지금 한 번 소스에 손을 대 보겠습니다. 아자아자 화이팅 T_T

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

12

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

1인 블로그라면(단독모드)

루트폴더에 index.gif랑 favicon.ico 넣어 두시고
.htaccess에서

RewriteRule ^favicon\.ico$ blog/favicon.ico.php [E=SURI:1,L]
RewriteRule ^index\.gif$ blog/index.gif.php [E=SURI:1,L]

지워버리거나 앞에 # 붙이면 될껍니다.

gendoh (2007-08-08 02:10:00)에 의해 마지막으로 수정

13

답글: CPU 사용률 및 DB 사용률 초과로 차단당했습니다.

479번 티켓으로 등록했습니다.

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'