이제껏 이상이 없었는데..

 

10월 1일부터 nginx 로그에

 

recv() failed (104: Connection reset by peer) while reading response header from upstream,

 

이런 오류들이 쌓이기 시작합니다.

 

502 Bad Gateway 오류가 나타납니다.

 

조언 부탁 드립니다.

 

ps: 별달리 뭘 수정한 기억도 없고. 혹시나 해서

 

yum update도 해봤는데 여전히 그러네요...

  • ?
    로그를 분석하고 있습니다.. 근데 재미 있는것이...
    xe 쪽에서만 오류가 생기는것 같습니다.
    제가 만든 프로그램쪽에서는 생기지 않네요.

    최근에 한거라고는 SEO 설정 및 SEO에 포함된 구글 애널리틱스 코드 삽입
    RSS 설정, 사이트맵 LITE 설치 이정도 입니다.

    이것들중에 하나가 문제일꺼라 판단하고 하나씩 테스트 중입니다.

    RSS는 9월 29일일날 한걸로 기록상에 나타나고 SITE 맵 9월 30일....
    1일날 한게.. SEO 설정인데... 어느것이 문제가 될지 모르겠네요...

    다 아니라면.. ㅠ.ㅠ 새벽까지 테스트 해봐야겠네요..
  • ?
    원인을 찾은거 같습니다.

    RSS 문제인듯 합니다.

    검색등을 통해서 확인한바로는

    502 Bad Gateway 오류 해결책으로

    timeout을 늘리는 방법이 있던데..

    아무래도 RSS쪽에서 부하가 상당히 걸리면서 문제가 생기는것 같습니다.

    RSS 통합피드에 등록된 게시판수가 200개정도 되는데...

    2-3일에 걸쳐서 등록을 했는데... 마지막날 등록한게 화근이 된것 같습니다.

    보통 5~10분에 하나정도 502 Bad Gateway 오류 로그가 남았는데

    현재 17분이 경과 하도록 오류 로그가 남지 않네요..

    늦은 시간이라서 사람이 없는것도 한목하겠지만... 맞는거 같습니다....

    계속 모니터링 하면서 댓글 달아 두겠습니다..
  • ? Lv30

    rss라면 사람이 아닙니다. 아마 네이버웹마스터도구에 등록하셨다면 네이버 봇이 방문하는 것 일텐데요.

    통합 rss설정 상단에 보시면 한번에 출력할 게시글 수를 설정 할 수 있습니다. 그곳이 너무 과도하게 큰 값이라 출력시간이 너무 오래걸려 타임아웃이 걸리는지 보셔야 할 것 같습니다.

    rss로 웹문서 수집하는 곳은 네이버가 유일합니다. 하루 작성되는 게시글 감안해서 불필요하게 큰 값을 설정하지 않는게 좋을 것 같네요.

    그런데 조금 이상한게 값을 조정하지 않았으면 100개 일텐데 저희 서버는 괜찮은데 php동작 타임아웃이 너무 짧게 설정된건 아닌지 모르겠네요.

     

    저희는 예전에 사이트맵 만드는 php프로그램(xe모듈아닌) 때문에 php동작 사간을 좀 길게 해 놓긴 했습니다.

  • Lv30 ?
    현재 통합피드에

    한페이지당 글수 15개에요 ㅠ.ㅠ

    저는 기본값이 15더라구요....

    근데 이게 이상한것이 한번 RSS 리스트에 등록되면...

    게시판 설정에서 RSS 피드 공개 안함을 해도...

    RSS 메인 리스트에서 삭제가 안되네요..

    근복적으로 삭제를 하는게 맞는거 같은데.. 여의치 않아서

    피드공개 : 공개하지 않음
    통합피드에 포함 : 미사용

    이렇게 불필요하다 싶은걸 추려서 한 60개 정도를 막았습니다..

    설정하고 캐시파일 재생성한뒤 좀더 기다려 봐야겠습니다...

    혹시...

    RSS 게시판 리트스에서 게시판 목록을 직접 삭제하는 방법이 있을까요?
  • ? Lv30

    rss 게시글수 100개로 해도 눈 깜짝할 사이 출력이 되는데 타임아웃이 걸릴 정도 시간이 걸리는 거라면 rss는 아닐거 같은데요.

     

    사이트맵의 경우는 게시글 작성,삭제시에만 새로 생성하는 작업이 이루어지구요.

     

    게시글 수가 무척 많다고 글 작성,삭제가 10분 이내 간격으로 있다면 사이트맵일 가능성이 있네요.

  • Lv30 ?
    그럴지도 모르겠습니다... 00:54분에 오류 로그가 하나 남았는데 윗 댓글 적기전에 제가뭔짓을 한건지.. 머리가 아파서... 기억이 잘 안나네요..(RSS 켜기 직전 같기도 하고 직후 같기도 하고 그러네요 ㅎㅎㅎ)

    사용자들도 별루 없고해서... 테스트도 힘든거 같습니다.

    일단 원인으로 지목할만한녀석들은

    SEO, SEO 구글 애널리틱스 코드 삽입, RSS, 사이트맵 Lite 이정도네요..

    아무리 생각해봐도 저거 4개 말고는 손본데가 전혀 없거든요. 서버 설정은 일체 건들지도 않았고

    저희 사이트 유입의 90% 이상이 구글이라서 네이버랑 좀 친해져보자 싶어서

    검색최적화 한다고 시작한게.. 이렇게 되어 버렸네요...
  • ? Lv30
    게시글 수 하고 글 작성 삭제 주기가 어떻게 되나요?
  • Lv30 ?

    게시글수는 각 게시판당 50개 내외 입니다. 총 게시판수는 240개 정도 되구요...

    글 작성주기는 모든 게시판 합계 하루에 2-3개 될까 말까 하네요 ㅎㅎㅎ

  • ? Lv30

    글 작성,삭제 시점에 동작하는게 아니고 모듈 설정에 설정한 대로 동작하네요. 사이트맵 갱신이요.
    혹시 모르니 갱신 주기 확인해 보시구요.

    게시글 수가 12000개 정도 인거죠?

    이게 영향을 주는 거라면 타임아웃이 너무 짧아서 그런거 아닐런지.. 기본 30초는 되어있을 텐데요..

    사이트맵 외 나머지는 가능성이 희박해 보입니다.

    저흰 2만개 정도 됩니다.

  • Lv30 ?
    17분에 RSS 켰습니다.

    18분에 바로 에러 로그가 남네요.

    근데 한가지 더 재미있는것이. RSS를 끄고 확인차.

    캐시파일 재생성을 3회 했는데 오류 로그가 3회 떡하니 남네요. 연속으로

    아무래도 타임아웃값을 확인해봐야 할듯 합니다.

    그분께서 설정해주신건데... 무장적 늘리기도 그렇고...

    일단 원인은.. 타임아웃이라는건 알아낸것 같습니다.
  • ? Lv30

    오류는 남고 캐시파일 재생성은 잘 된다면 뭔가 이상하네요.

    사이트맵을 끄고 캐시파일 재생성을 해보시고 비교해보세요.

  • Lv30 ?

    사이트맵을 꺼도 캐시파일 재생성 하면 여전히 오류 생깁니다. ㅎㅎㅎ

    php.ini 설정상으로는

    max_execution_time = 30

    이렇게 설정되어 있는데...

    이게 PHP-FPM이다 보니. 어디서 손봐야 할지 난감하네요 ㅎㅎㅎ

  • Lv30 ?
    SEO만 남겨두고 나머지는

    RSS, 사이트맵 LITE 두개는 꺼놨습니다.

    사용자들이 많은 시간인 낮에 테스트 해봐야 겠습니다.

    하루에 하나씩 켜면서 테스트 해봐야 겠습니다. ㅎㅎㅎ

    도움 감사합니다.
  • Lv36

    애꿎은 모듈 껐다 켰다 하지 말고 PHP-FPM 슬로우 로그 보세요. 모든 답은 거기에 있습니다.

  • Lv36 ?
    푹 자고 일어나서 아침에 딱 떠오른게 슬로우 쿼리 확인해봐야지 였는데.

    역시 ㅎㅎㅎ
  • Lv36 ?
    슬로우 로그라고하셨녜요

    근데 mysql 슬로우 쿼리랑 fpm 슬로우 로그는 다른거죠?

    그건 또 어디에 숨어 있을까요? ㅎㅎㅎ
  • ? Lv30

    어제 왜 생각이 안났을까요 ㅋ 에러가 발생한다고 하니 슬로우 로그가 남는다는게 생각도 안났네요 ㅋ

    에러 보신 경로에 함께 있을걸요?

     

    제 기억으로는 /var/log 아래 폴더를 찾으면 금방 보였던거 같아요.

     

    아.. 저희는 아파치를 사용하니 다를지도 모르겠네요.

  • Lv36 ?
    /var/log/php-fpm/ 요기 숨이 있네요 ㅎㅎㅎ
  • Lv30 ?
    /var/log/php-fpm/

    요기 숨이 있습니다. ㅎㅎㅎ

    에러 로그를 보면서 오류를 잡으면서

    슬로우 로그를 생각지도 못했네요.. ㅎㅎㅎ

    암튼 밤새 함께 고민해 주셔서 감사합니다.

    오늘은 애들이랑 놀아야해서 내일쯤에나 완전히 확인 가능하지 싶네요. ㅎㅎ
  • Lv36 ?

    슬로우 로그 확인해 봤는데요..

    99%

    script_filename = /var/www/html/xe/index.php
    [0x00007f9e1b013580] curl_exec() /var/www/html/xe/modules/referer/referer.controller.php:92
    [0x00007f9e1b0133b0] procRefererExecute() /var/www/html/xe/addons/referer/referer.addon.php:24
    [0x00007f9e1b013310] [INCLUDE_OR_EVAL]() /var/www/html/xe/files/cache/addons/0pc.acivated_addons.cache.php:128
    [0x00007f9e1b013210] [INCLUDE_OR_EVAL]() /var/www/html/xe/classes/module/ModuleHandler.class.php:118
    [0x00007f9e1b0130c0] ModuleHandler() /var/www/html/xe/index.php:57


    referer 관련만 있습니다....

    제가 생각했던 rss, SEO, 사이트맵 관련 로그내용은 전혀 없네요...

  • ? Lv30

    리퍼러 모듈은 정말 성능이고 뭐고 꼭 써야 한다가 아니라면 쳐더보면 안되는 것 갑일텐데요...

  • Lv30 ?
    아 리퍼러 모듈이 그런가요?

    전혀 몰랐던 사실입니다....

    참고하겠습니다.

    감사합니다.
  • ?

    PHP-FPM 슬로우 로그 상으로는..... referer 문제같아 보입니다...

    그래서 referer 모듈 업데이트가 있길레.. 업데이트를 했습니다.

    어제 밤 2시에 잘때...

    SEO, RSS는 모두 작동 시켜놓고 잤는데..

    사람들이 별로 접속을 안해서 그런지 현재 오류 로그는 없네요.

    사이트맵 Lite는 끄고 켜는 개념이 아닌것 같기도 하고 애매해서

    우선 삭제를 해놨습니다.

    오늘 내일중에 사이트맵 Lite를 다시 설치해 봐야 겠네요.

     

    일단.. 사람들이 정상적으로 접속하는 평일이 되어야지만

     

    정확한 결과를 알수 있을듯 합니다.

    로그 상으로는 referer문제가 유력한데요... 잘 모르겠네요.

  • ? Lv30
    일단 리퍼러모듈은 모든접속을 db에 기록하는 작업을 하기 때문에 방문자가 조금 많은 사이트에는 서버가 굉장히 힘들어집니다. 그 기록이 꼭 필요한게 아니면 가급적 이용하지 말아야 하는 것 중 최고 갑인 자료입니다.
  • Lv30 Lv36
    DB에 기록하는 것은 물론이고, 방문 국가 등을 확인하기 위해 외부 API에 연결하는데 하필이면 어마어마하게 느린 해외 API를 사용합니다. 위의 슬로우 로그에 기록된 것도 아마 그 API 요청일 거예요.

    방문자수, 동접수, 리퍼러, 검색어 등은 구글이나 네이버 애널리틱스를 사용해야 합니다. 성능을 생각한다면 사이트 내에서 이런 정보를 수집하는 모듈이나 애드온은 단 1개도 있어서는 안됩니다.
  • Lv36 Lv30
    api 사용도 있군요. 엄청난 요청과 응답 어마어마 헤비한 무서운 자료네요.
  • Lv36 ?
    리퍼러 모듈, 애드온 문제가 맞았네요...

    업데이트 하고 아무런 이상이 없습니다.

    밤새 삽질만 했네요 ㅋㅋㅋ

    말씀 하신것처럼 성능을 생각해서 제거하기로 결정했습니다.

    도움 감사합니다.