2012-07-14 4 views
1

약 140.000 개의 문서가있는 웹 사이트를 관리하고 있습니다. 이 시스템은 동일한 설정을 사용하여 2 년 이상 문제없이 실행되었습니다. 우리는 서버를 새로운 인프라로 마이그레이션해야했으며 그 이후로 몇 가지 예외가있었습니다.MySQL 쿼리 및 데이터 디버깅

모든 문서는 데이터베이스에 상태가 있습니다. 상태 코드 (int) 5는 문서가 삭제/제거되었음을 의미합니다.

약 10 시간마다 상태 코드가 5로 변경됩니다. 실제 문서는 잃어 버리지 않지만 최종 사용자는 사용할 수 없게됩니다. 문제의 원인을 파악하려고하지만 그 원인을 찾을 수 없습니다.

문서의 상태를 변경할 수있는 두 가지 쿼리가 있습니다. 내가 일시적으로 그 중 하나를 사용하지 못하게했고, 나는 삭제 된 문서의 상태 코드를 코드베이스에서 6으로 변경했습니다.

그러나, 우리는 아직도 내가 쿼리 로그를 활성화하고, 시간을 보냈다 같은 문제 5에 대한 상태 코드를 변경하지 6.

을 가지고 있지만 그 삭제 된 문서에는 업데이트 쿼리는 제외 없다 view_count 증가는 매우 짧고 간단한 쿼리입니다. 이 문서는 누군가 삭제 된 것과 동시에 요청됩니다. 그러나 모든 쿼리는 select 쿼리 (view_count 제외)이며 다른 문서간에 차이는 없습니다. 그리고 우리는 매초 수백 페이지 뷰를 가지고 있습니다. 그 중 하나만 무작위로 삭제됩니다.

그래서 쿼리 로그에서 볼 수 있다면 코드베이스에서 특정 쿼리를 찾을 수 있습니다. 그러나, 심지어 아무것도 표시되지 않습니다. 그래서 저는 지금 우둔합니다.

의견이 있으십니까? 이 문제를 해결해야하므로 아무 것도 시도 할 수 없습니다.

새 시스템입니다.

데비안 6.0.5 의 MySQL 5.5.24 - Percona는, Jet Profiler 또는 Percona Toolkit와 PHP-의 nginx-SOLR 상자를

+0

쿼리 로그를 활성화 한 후 MySQL을 다시 시작 했습니까? – davidethell

+0

예 로그에 많은 검색어가 있습니다. 이 문제와 관련된 업데이트 작업이 표시되지 않습니다. 나는 그것을 많이 조사 했으므로 100 % 확신 할 수 없다. – Merinn

답변

1

프로필 UPDATE 쿼리 구축을 분석하고 답변을 찾을 것이다.

General Query Log 또한 특정 업데이트 쿼리를 찾는 데 도움이 될 수 있습니다.

+0

그래, 내 게시물에서 언급했듯이 일반 쿼리 로그에 대해서는 아무 것도 표시되지 않았지만 percona 툴킷도 tcpdump를 활용하므로 이것이 도움이 될 것입니다. 감사! – Merinn

0

Percona Toolkit은 멋지지만이 문제와 관련된 내용도 표시되지 않았습니다. (tcpdump 등 포함)

Oracle을 설치하고 MySQL 5.5.25a를 설치했습니다. 이것은 제가 지금까지 보아온 가장 기괴한 버그였습니다.