PDA

정식 버전보기 : 해결 쿼리 캐싱



tavenger5
22-02-14, 15:46
난 내 느린 쿼리 로그에가 봤 고 이런 것 들을 보고:



# Time: 140222 8:50:25
# User@Host: database_user[database_user] @ [10.0.0.4]
# Query_time: 7.076817 Lock_time: 0.000065 Rows_sent: 3 Rows_examined: 4174934
use cellphon_forum;
SET timestamp=1393077025;
SELECT cache.originaltext as originaltext, cache.translated as translated FROM vbenterprisetranslator_cache_medium_es help, vbenterprisetranslator_cache_medium_es cache WHERE help.originaltext='U.S. Supreme$
# User@Host: database_user[database_user] @ [10.0.0.4]
# Query_time: 14.198858 Lock_time: 0.000056 Rows_sent: 18 Rows_examined: 4174934
SET timestamp=1393077025;
SELECT cache.originaltext as originaltext, cache.translated as translated FROM vbenterprisetranslator_cache_medium_es help, vbenterprisetranslator_cache_medium_es cache WHERE help.originaltext='******* Xtre$
# User@Host: database_user[database_user] @ [10.0.0.4]
# Query_time: 13.591001 Lock_time: 0.000274 Rows_sent: 1 Rows_examined: 4174934
SET timestamp=1393077025;
SELECT cache.originaltext as originaltext, cache.translated as translated FROM vbenterprisetranslator_cache_medium_es help, vbenterprisetranslator_cache_medium_es cache WHERE help.originaltext='(Espa&ntilde$


이 같은 캐시 쿼리 하는 어떤 방법 인가? 이러한 쿼리는 거의 모든 페이지 로딩에 로드합니다.

네, 손님 캐시를 있다.

tavenger5
22-02-14, 18:15
또한, 만약 당신이 여분의 이러한 쿼리 실행, 있다이 주: "const 테이블을 읽은 후 발견 어디 불가능"

vBET
27-02-14, 08:23
로 이동하십시오 Admin CP -> vBET Cache -> Memory Cache 메모리 캐시의 사용에 있다 설정할 수 있습니다 (지원 4 엔진: Memcache, APC, XCache eAccelerator).

이 귀하의 요구에 맞는?

PS.
한 가지 질문-보고서에 쿼리 시간에 대 한 시간 측정값을 무엇입니까?

tavenger5
28-02-14, 15:37
일반 캐시 같은 메모리 캐시 기능을 하지 않습니다 하지만 메모리에 데이터를 저장? 이러한 쿼리 중 일부 제거 하는?

쿼리 시간이 쿼리 하기 전에 첫 번째 게시물에 나열 됩니다.

vBET
28-02-14, 22:24
때문에 손님에 대 한 결과 일반 HTML 파일로 저장 되며, (때까지 파일 만료-새로 고쳐집니다) 파일에서 스트리밍 게스트 캐시를 사용 하 여 쿼리를 많이 제거 확실히.
포럼에 소통량의 대부분은 (를 포함 하 여 거미) 손님에 게 서 이후 게스트 캐시 쿼리를 많이 제거 됩니다.

난 그냥 메모리 캐시에 대 한 우리의 소스를 확인 합니다. 그것은 우리의 게스트 캐시-협력 그래서 최근에 사용한 결과 파일에서 메모리에서 찍은 것입니다. 이 경우 모든 쿼리 (게스트 캐시 이미 해 냈 어)를 제거 하지 않습니다.
아직도 vBulletin (확실히) 기억 자체 메모리 내 캐시에 대 한 지원 하 고 어쩌면이 쿼리 중 일부를 제거 합니다.

나열 된 쿼리 시간-가 알고 물어 시간 측정에 대 한. 아마도 wasn 명확-시간의 단위는 무엇입니까? (s, ms, ns?)
우리는 시간이 짧은 되어야 합니다 그래서 우리의 캐시 테이블에 인덱스를 있다.

또한 옵션을 해제 하려고 할 수 있습니다. Admin CP -> vBET Cache -> Database Cache -> Select grouped translations. 비활성화 된 경우 다음 쿼리 됩니다 간단 하 게 (세리에 의해 아무 복용), 하지만 (뭔가 뭔가) 쿼리를 훨씬 더 될 것입니다-아마도 포럼에 더 좋을 것입니다 더 자주 쿼리 하는 데.
예를 들어-귀하의 결과에 보고 준 22 결과 3 쿼리 했다. 복용 결과 그룹에서을 사용 하지 않도록 설정 하는 경우 것 이다 당신은 각각 1 결과 주는 22 쿼리 하지만 쿼리 또한 빠르게 그래서 쉽게 (간단 하 게 '어디' 섹션) 됩니다. 다른 서버에 데이터베이스를 있는 경우 다음 확실히 당신이 려 해서는 안 된다이. 그것을 복용 하는 결과 localhost, 그럼 어쩌면 당신이 개선을 볼 것 이다. 말할 수 없습니다-그것을 확인 하는.

tavenger5
03-03-14, 04:50
좋아요, 설명을 주셔서 감사합니다. 손님 캐시 및 메모리 캐시 (xcache) 사용 하지만 난 아직도 얼마나 몹시 많은 선택의 데이터베이스에서 오고 있다.

위의 시간 측정 (초)에서입니다.

vBET
03-03-14, 10:15
그것은 당신의 데이터베이스 쿼리에 대 한 14 초 했다? 정말? 그것은 결정적으로 뭔가 문제가 있다입니다. 관리자의 CP로 테이블을 복구 하려고, 아마 거기에 뭔가가 잘못. 그것은 걸리지 오랫동안-그 데이터 인덱싱됩니다.

tavenger5
03-03-14, 19:54
일부 테이블 잠금 및/또는 그들이 복용 하는 오랫동안 실행 하는 이유는 쿼리 캐시에 대 한 기다리고 있는 느낌이 듭니다. 데이터베이스 서버-에 몇 가지 더 많은 메모리를 사용할 수 있는 언급 하지 않기 위하여 일하고 그 뿐만 있습니다.

vBET
11-03-14, 12:51
vBET 차단 문제가 안됩니다 그래서 어떤 거래 (MYISAM) 없이 캐시 테이블을 사용 하는 것입니다. 아마도 인덱스를 부러진와 MySQL 전체 검색 하고있다. 다시 한번 모든 테이블 및 인덱스 (복구 관리자 CP 사용 하시기 바랍니다Admin CP -> Maintenance -> Repair / Optimize Tables).

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Languages translations supported by vBET 4.10.1