nginx와 php-fpm 환경에서

 

전체 테이블 검색 또는 테이블이 조금만 많은 곳에서 phpmyadmin을 통해 내용 검색을 하면

 

500에러를 뿜어내서 검색을 할 수 없는데 

 

왜 이런 현상이 생길까요?

 

사이트 부하를 막기위해서 nginx는 조금만 부하되는 행동은 모두 걸러내는 것 같아요..

  • profile

    nginx에서 막는 게 아니라 타임아웃 걸리는 거겠죠. 30초 넘어가면 다 타임아웃 걸립니다.

     

    원래 30초에서 끊기는 게 정상인데, 일반적인 웹호스팅은 서버가 느려터져서 평소에도 30초 이상 걸리는 작업이 많으니까 고객들 문의 들어오는 게 귀찮아서 타임아웃을 300초쯤으로 왕창 늘려놓은 것입니다. 그러니까 과부하가 걸려서 서버는 더 느려지고... 오래 걸리는 작업이 더 많아지고... 악순환을 계속하다 보면 심지어 300초에도 안 끝나는 작업이 생기고...

     

    phpmyadmin의 검색 기능은 아주 작은 사이트에서나 쓰라고 만들어져 있는 거예요. 데이터가 많이 쌓여 있는 사이트에서는 그거 못 씁니다. 내가 타임아웃이 걸리거나, 웹호스팅 서버를 공유하는 다른 사람들에게 피해를 주거나, 둘 중 하나지요.

  • profile ?

    서버호스팅 이용자고 현재 기진곰님 서버셋업세팅을 그대로 사용하고 있는데요

    phpmyadmin 세팅의 설정값이 문제란 말씀이신가요 !?

  • ? profile

    아뇨, 기본 설정값은 정상인데 phpmyadmin의 검색 기능이 문제입니다.
    데이터가 어느 정도 이상 쌓여 있으면 애당초 작동할 리가 없는 방식으로 구현되어 있습니다.

     

    웹호스팅을 말씀드린 이유는 "다른 데서는 잘 됐는데?"라고 생각하실 것 같아서 차이점을 설명드린 거예요.

    웹호스팅은 1) 타임아웃을 무리하게 늘려 놓았고 2) 대체로 용량이 작기 때문에 되는 겁니다.

    님 서버는 1) 타임아웃이 합리적인 기본값으로 설정되어 있고 2) 용량이 많으니까 안 되는 거고요.

    phpmyadmin 검색은 용량이 많으면 못 쓰는 기능입니다. 그냥 그거 없다고 생각하세요.

  • profile ?

    기존에 같은 DB의 용량 3DB정도에서

    apache환경에서는 잘 검색이 되었었는데.. nginx로 넘어와서 동작이 안되어 조금 의아했습니다 ㅠ

     

    그래도 이러한 환경 설정 때문에 서버 다운이 된적이 한번도 없어서 설정값을 건들이지 말고 사용해야겠습니다.

  • ? profile
    phpmyadmin은 관리자만 쓰는 것이니, 해당 PHP-FPM pool에서만 타임아웃을 조심스럽게 늘려줄 수도 있겠습니다만... 가능하면 건드리지 않는 게 좋아요 ㅎㅎ

    몇기가의 데이터를 어떠한 인덱스의 도움도 없이 단순무식하게 다 열어보는 방식이라 서버에 부담이 많이 갑니다. 느리기로 소문난 XE 통합검색이 오히려 양반으로 보일 정도예요.