PDA

View Full Version: Giải quyết Truy vấn bộ nhớ đệm



tavenger5
22-02-14, 15:46
Tôi đã xem xét của tôi đăng nhập truy vấn chậm và tôi đang nhìn thấy những thứ như thế này:



# 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$


Là có bất kỳ cách nào để nhớ cache truy vấn như thế này? Các truy vấn này tải về gần như mỗi tải trang.

Có, tôi có bộ nhớ cache đánh.

tavenger5
22-02-14, 18:15
Ngoài ra, nếu bạn đang chạy thêm trên các truy vấn này, đó là lưu ý điều này: "Không thể nơi nhận thấy sau khi đọc const bảng"

vBET
27-02-14, 08:23
Xin vui lòng đến Admin CP -> vBET Cache -> Memory Cache bạn có thể thiết lập có về cách sử dụng bộ nhớ cache (4 động cơ được hỗ trợ: Memcache, APC, XCache eAccelerator).

Có điều này phù hợp với nhu cầu của bạn?

PS.
Một câu hỏi - những gì là thước đo thời gian cho truy vấn thời gian trong báo cáo của bạn?

tavenger5
28-02-14, 15:37
Không chức năng bộ nhớ cache bộ nhớ như bộ nhớ cache bình thường nhưng lưu dữ liệu trong bộ nhớ? Mà sẽ loại bỏ một số những truy vấn?

Thời gian truy vấn được liệt kê trong bài viết đầu tiên trước khi truy vấn.

vBET
28-02-14, 22:24
Bằng cách sử dụng bộ nhớ Cache đánh sẽ dứt khoát loại bỏ nhiều truy vấn, kể từ khi cho khách kết quả sẽ được lưu trữ ở đồng bằng HTML là tập tin và trực tiếp từ tập tin (cho đến khi tập tin hết hạn - sau đó làm mới).
Bộ nhớ Cache đánh sẽ loại bỏ nhiều truy vấn, kể từ khi hầu hết lưu lượng truy cập vào diễn đàn là từ khách (bao gồm cả nhện).

Tôi chỉ cần kiểm tra nguồn của chúng tôi về bộ nhớ Cache. Nó hợp tác với bộ nhớ Cache đánh của chúng tôi - vì vậy mới được sử dụng kết quả sẽ được thực hiện từ bộ nhớ không phải từ tập tin. Trong trường hợp này, nó sẽ không loại bỏ bất kỳ truy vấn (bộ nhớ Cache đánh đã làm nó).
Vẫn còn vBulletin chính nó như là tôi nhớ (không chắc chắn) đã hỗ trợ cho bộ nhớ cache và có lẽ điều này sẽ loại bỏ một số truy vấn.

Tôi biết đó là thời gian truy vấn được liệt kê - tôi đã yêu cầu về thời gian đo. Có lẽ tôi không rõ ràng - đơn vị thời gian là gì? (s, ms, ns?)
Chúng tôi có chỉ số trên bảng bộ nhớ cache của chúng tôi vì vậy thời gian nên ngắn.

Cũng bạn có thể thử để vô hiệu hóa tùy chọn Admin CP -> vBET Cache -> Database Cache -> Select grouped translations. Khi vô hiệu hóa, sau đó truy vấn sẽ đơn giản hơn (không tham gia bởi serie), nhưng sẽ có nhiều hơn nữa các truy vấn (cái gì đó cho một cái gì đó) - có lẽ trên diễn đàn của bạn nó sẽ tốt hơn để truy vấn thường xuyên hơn.
Ví dụ: - nhìn vào kết quả của bạn, bạn có 3 truy vấn mà cho 22 kết quả. Nếu bạn vô hiệu hoá việc kết quả trong các nhóm sau đó bạn sẽ có 22 truy vấn cho 1 quả mỗi, nhưng các truy vấn sẽ là dễ dàng hơn (đơn giản 'Nơi' phần) vì vậy cũng nhanh hơn. Nếu bạn có cơ sở dữ liệu trên máy chủ khác sau đó dứt khoát bạn không nên thử này. Nó bạn đang dùng kết quả bằng localhost, sau đó có lẽ bạn sẽ thấy cải thiện. Không thể nói - phải kiểm tra xem nó.

tavenger5
03-03-14, 04:50
Chấp nhận được, nhờ giải thích. Tôi đang sử dụng bộ nhớ cache đánh và bộ nhớ cache (xcache), nhưng tôi vẫn còn kinh ngạc lúc làm thế nào nhiều chọn đang đến từ cơ sở dữ liệu.

Các biện pháp thời gian ở trên là trong vài giây.

vBET
03-03-14, 10:15
Mất của bạn cơ sở dữ liệu 14 giây cho truy vấn? Thực sự? Nó có dứt khoát một cái gì đó sai. Hãy cố gắng sửa chữa các bảng của Admin CP, có thể có một cái gì đó sai. Nó không nên đi để lâu - những dữ liệu được lập chỉ mục.

tavenger5
03-03-14, 19:54
Tôi có một cảm giác rằng một số bảng khóa và/hoặc chờ cho bộ nhớ cache truy vấn, đó là lý do tại sao họ dùng để lâu để thực hiện. Không phải đề cập đến tôi có thể sử dụng một số bộ nhớ nhiều hơn trên máy chủ cơ sở dữ liệu của tôi - tôi đang làm việc trên đó là tốt.

vBET
11-03-14, 12:51
vBET sử dụng bộ nhớ cache bảng mà không có bất kỳ giao dịch (MYISAM) để chặn không phải là vấn đề. Có lẽ bạn đã phá vỡ chỉ số và MySQL là làm cho tìm kiếm đầy đủ. Một lần nữa xin vui lòng sử dụng Admin CP của bạn để sửa chữa tất cả của bạn lập chỉ mục và bàn (Admin CP -> Maintenance -> Repair / Optimize Tables).

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Integration with translations by vB Enterprise Translator 4.10.1