리부팅이 아닌 아파치 재시작 정도가 서버 컨디션에 도움이 되는지 궁금합니다.

 

restart 를 해도 사이트 서비스 중단에 큰 영향은 없어 새벽시간에 잠시 하기에는 부담이 없는데요.

 

매일 새벽 재시작을 자동을 할 경우 득과 실이 있을까요?

  • profile
    저사양 서버를 빡빡하게 운영했을 때 버벅거림이 생기면 사용자들이 접속하던말던 당장 급한불 끄기 식으로 재시작 한 경우가 있는데 별 문제가 없다면 그냥 두시는게 더 나을 것 같습니다.
  • profile profile
    문제를 예방하는 차원에서 재시작이 도움이 될지에 대한 궁금증에서 시작된 것인데요. 그냥 두는게 낫다는 것은 어떤 부분인지 궁금합니다.

    득과 실에 서 실이 있다는 이야기로 들려서요. 실제 서버작업에서 재시작이 필요해서 가끔 해보면 서비스 중단의 피해 등이 크지는 않게 느껴졌던 것이라 궁금해졌네요.
  • profile profile
    저도 체감만 한거라 정확한 이론에는 근거를 두진 못하겠습니다.

    저사양 서버에서는 아파치를 재시작 하면 그 후에 접속시에 속도(TTFB)가 더 느려졌습니다. 캐시같은게 초기화되는건지는 모르겠습니다.

    어느정도 튜닝이 잘된 넉넉한 사양이라면 굳이 한번씩 초기화 시킬 필요가 있을까 싶네요.
  • profile profile

    제가 이 고민을 하게 된 이유는 리눅스에서 메모리 반환이 안되서 메모리가 부족한(실제 가용메모리는 많은데) 상황이 발생되는 것 같더라구요. 발생하는 빈도는 아주 극히 적은 것 같습니다. 하지만 이 때는 mysql 사용도 소화를 못하는 메모리 상태가 되는 듯 합니다.

    이럴 경우 아파치 재시작을 통해 정상화 할 수 있는데 서비스에 큰 영향을 주지 않는다면 이러한 상황을 새벽에 한번씩 풀어주는 효과가 있을 것 같아서요.

    restart가 오히려 서버 성능에 큰 손해를 준다면 문제가 발생할 경우에 제한적으로 해주는게 맞는 것 같구요.

  • profile profile
    그런경우면 하는게 좋을것 같습니다.
    저도 사양이 간당강당한 서버를 운영할 때 메모리가 가득차는 현상이 있었고 아파치 재시작과 메모리 캐시 비우는 작업을 주기적으로 해줬습니다.
  • ?
    저는 가끔 서버를 재부팅 합니다
  • ? profile
    서버 재부팅은 서비스 영향에 너무 커서 매일 하는 것을 고려하지 않고 있습니다.
  • profile ?
    네 매일은 너무 심하고 저는 문제가 조금 있다 문제라함은 사이트가 조금 느려진다거나 하면
    한번씩 해주거든요 ㅎ
  • profile
    아파치 restart 보다는 서비스에 영행이 없는 아파치 reload 를 사용해 보세요....^^
  • profile profile

    그래서 아래 차이점에 관해 질문을 해 놓긴 했는데. restart도 서비스 중단이 미미해서 확실한거 같아서요 ㅋ
    새벽시간에 잠시 영향을 주는건 큰 문제는 안될 것 같아 restart로 기울었습니다. 의견 감사합니다.

     

    효과가 완전히 똑같다면  reload를 하겠습니다!

  • profile profile
    가끔 restart 시에 서버가 뻗어버리는 증상이 나타날수 있어서 가급적 서버 리부팅이나 아파티 리스타트는 안하고 있습니다.

    문제없이 돌아가는 서버라면 굳이 reboot 또는 restart 를 하실 필요가 없습니다.....^^;;
  • profile profile
    가끔 문제가 발생하는 것 같아서요. 리부팅은 서버가 죽었다 올라오는거라 문제가 생기지 않아도 서비스중단 시간이 길어서 사실상 정기적인 유지보수 계획에 의한 것이 아니라면 수시로 하긴 곤란하구요.

    아파치 재시작은 서버가 뻗거나 하지는 않더라구요. 이 부분은 많은 검토를 한거라 그리고 기존에 아주 많은 시행을 해본봐로는(재시작 할 일이 많이 있죠. 서버 설정등...) 서버에 문제를 일을키지는 않더라구요.
  • profile
    위에서 말씀하신 것처럼 메모리 누수가 의심된다면 크론탭 등을 사용하여 방문자가 적은 새벽 시간대에 한 번씩 리스타트해 주는 것이 도움이 될 수도 있습니다. 몇 초간 접속이 끊기기는 합니다만, 대규모 사이트가 아니라면 큰 문제가 되지는 않지요. reload는 설정만 갱신하기 때문에 메모리 누수는 해결되지 않을 수도 있습니다.

    그러나 대부분의 리눅스 배포판에서 아파치 순정 버전은 메모리 누수가 발생하지 않습니다. 워낙 안정적인 프로그램이라 그런 문제는 10여년 전에 이미 다 고쳐졌어요. mod_php가 아니라 php-fpm으로 연동한다면 메모리 누수 가능성은 더욱 줄어듭니다. 1년 내내 켜놔도 아무 문제 없는 것이 정상이예요. 만약 성능 개선이나 보안 등을 명목으로 추가로 설치하신 아파치 서드파티 모듈이 있다면 그것이 문제일 가능성이 높으니, 시험삼아 꺼보고 메모리 누수 현상이 사라지는지 확인해 보시는 것이 좋겠습니다.

    물론 free 명령에서 나오는 메모리 사용량을 버퍼/캐시 감안하여 제대로 해석하실 수 있고, 그 결과 메모리가 부족하다고 판단하셨다는 가정 하에 드리는 말씀입니다.
  • profile profile
    증상이 있을 시 직접 확인은 못했고 추후 증상이 있을때 확인이 가능 할 것 같습니다. 호스팅사에서 임의로 아파치 리스타트로 해결한 경우가 있어서요. 체크된 상황을 확인하지는 못했네요.

    그런데 결과만 보았을때 일반적인 웹페이지 조회등은 문제가 없고 mysql사용시 처리가 안되는 것으로 보아 메모리가 부족한 상태가 발생하는 듯 합니다. 그런데 이 경우가 일년에 몇차례 안되는 극히 적은 빈도입니다.

    추후 제가 확인 가능 할 시 메모리 상태를 좀 확인해 보려고 하려합니다.

    그리고 새벽에 한번씩 아파치 리스타트가 도움을 줄 수 있다는 생각이 들었네요.
  • profile profile
    사용하시는 호스팅 업체에서 메모리 사용량 분석을 잘못 한 전과가 있기 때문에-_-;; 그대로 믿기에는 무리가 있네요. 업체들은 귀찮으니까 그냥 다 리스타트만 합니다. 원래 뭐든지 리스타트하면 한동안은 잘 돌아가잖아요.

    우분투 기준으로, 사건 발생 시점에 기록된 /var/log/syslog를 둘러보면 정말로 메모리가 부족했는지, 그리고 그것이 MySQL 장애 원인이었는지 알 수 있습니다. Out of memory라는 메시지와 함께, 어느 프로세스가 희생되었는지 분명히 나오거든요.
  • profile profile

    syslog에는 크론탭에서 실행된 것 만 기록되어 있고 별다른 것은 없네요.

    사실 제가 의심하고 있는 부분이 아파치리스타트는 요식행위 이고 실제 다른 원인을 제거한건 아닌지 하는 부분인데 이건 확인할 길이 없네요.

  • profile
    사용자가 없는 시간대에 restart 해주시는게 좋을듯 하네요. 그래봐야 몇초 끊기는거라..
  • ?
    PHP 를 처음만든 라스무스와 같은 생각이네요 ㄷㄷㄷㄷㄷ

    그렇게해서 매번재시작하는 언어가 탄생되고...