2009-05-05 7 views
0

다른 쿼리가 완료 될 때까지 mysql db를 쿼리 할 수없는 곳에 문제가 있습니다. 이것은 아파치에서 무거운 sql-query (30s)를 실행하거나 동일한 아파치 요청 내에서 일련의 sql-querys를 실행할 때 발생합니다.느린 쿼리가 아파치가 응답을 얻지 못하도록합니다.

내 쿼리가 선택 되었기 때문에 (업데이트 또는 수정 및 트랜잭션 없음) 나는 시뮬레이트 쿼리를 실행할 수 있어야한다고 생각합니다. 어떻게하면 가능합니까?

저는 Zend_Db :: factory ($ config-> db-> adapter, $ dbConfig)를 사용하고 있습니다. 이것이 연결을 제한하는지 또는 항상 동일한 연결을 다시 사용하려고하는지 확실하지 않습니다. 나는 수동으로 "호출 세리에"의 각 호출 사이의 연결을 닫습니다.

/피터

+0

동일한 연결을 다시 사용하고 있습니까? –

+0

큰 서버가 실행 중이고 다른 쿼리가 대기하는 동안 "show processlist"를 실행하면 무엇이 알려 집니까? 대부분의 하드웨어는 한 번에 둘 이상의 쿼리를 실행할 수 없습니다. select는 다른 선택을 차단해서는 안됩니다. –

+0

죄송합니다. 'server'가 'query'를 읽었어야합니다. –

답변

0

아마 연결이 끊어져있는 Apache에 연결 풀이 설정되어있을 것입니다. 어떤 모듈을 아파치에서 사용하고 있는지 잘 모르겠다.하지만 mod_dbdDBDMax 매개 변수를 확인했다.

관련 문제