2017-10-30 2 views
0

오픈 소스 응용 프로그램 (Maarch)을 사용하고 이전 버전에서 최신 버전으로 마이그레이션 한 후 postgresql 문제가 있습니다.POSTRESQL 쿼리가 100 % CPU를 사용합니다.

CPU의 100 %를 사용하고 응용 프로그램을 차단하는 pgsql과 관련된 두 가지 작업이 있습니다.

나는 apache2 오류가 없으며 pgsql 오류도 없습니다. 현재 현재 문제가되고 있습니다. 문제의 원인을 어디에서 검색 할 수 있는지 모르기 때문입니다.

서버는 PHP 7.0

어떤 생각 POSTGRESQL 9.4으로, 데비안 (8) 아래?

+0

'추신 보조 추가하시기 바랍니다. |. 귀하의 질문에 그렙 postgres'을, 우리는 텔레파시되지 않습니다 : – JustMe

+0

모든 SELECT를'SELECT * FROM pg_stat_activity'로 표시 할 수 있습니다. – clemens

+0

진공 청소기를 사용해 보셨습니까? postgresql 서비스를 다시 시작 하시겠습니까? 로그 파일을 검색 하시겠습니까? 쿼리에 대해 설명을 사용 하시겠습니까? 우리는 더 많은 정보가 필요합니다. @ JustMe가 말했듯이, 우리는 텔레 패스가 아닙니다. – Dan

답변

0

고려하십시오 : 모든 명령문의

  • 수 있도록 로깅 http://cheng.logdown.com/posts/2016/04/08/enable-logging-in-postgresql 주의 사항 예 : 응용 프로그램을 느리게하고 로그에 대한 하드 디스크를 많이 먹을 수있다 위에서 언급 한 그. 로그를 찾아 보거나 grep하십시오.

  • 몇 번 실행하면 두드러기에서 실행되는 쿼리를 알 수 있습니다.

  • last_vacuum 또는 autovac 날짜를 검색 할 때 select * from pg_stat_user_tables을 실행합니다. 문제가 해결되면 느려진 날짜와 관련됩니다.

  • 위에서 언급 제발 도움이되지 않을 경우 실행되는 쿼리가 복잡한 경우 분석합니다. 5 초 이상 (오래 지속 쿼리를 결정하기 위해

SELECT now() - query_start, usename, datname, waiting, state, query FROM pg_stat_activity WHERE now() - query_start > '5 seconds'::interval ORDER BY 1 DESC;을 실행하고있는 경우 필드는/조인 곳의 절 실행중인 쿼리가 색인

양자 택일 (오래 지속 운영) 조금 도움이 될 수 있습니다 분석 전체 진공을 실행

관련 문제