КПК

Перегляд повної версії: Вирішений Кешування запитів



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 себе, як я пам'ятаю (не знаю), має підтримку кеш-пам'яті і, можливо, це зніме частину запитів.

Я знаю, де вказано час запиту - я запитував про міра часу. Можливо, я не ясно - що таке одиницю часу? (s, ms, ns?)
Ми індексів на наших кеш таблиць, так що часу має бути коротким.

Також можна спробувати відключити опцію Admin CP -> vBET Cache -> Database Cache -> Select grouped translations. Коли вимкнено, то запити будуть простіше (без урахування серії), але там буде набагато більше запитів (що-то для чого-то) - можливо, на вашому форумі буде краще для запиту більш часто.
Наприклад, дивлячись на ваші результати ви мали 3 запити, які подали 22 результати. Якщо ви вимкніть беручи результати в групах, тоді ви повинні будете 22 запити даючи 1 результат кожного, але запит буде легше (простіше', ДЕ' розділ), так ще швидше. Якщо у вас є бази даних на інший сервер, то ви остаточно не повинні спробувати це. Це ви приймаєте результати на localhost, то, можливо, ви побачите поліпшення. Не можу сказати - треба перевірити.

tavenger5
03-03-14, 04:50
Гаразд, дякую за роз'яснення. Я використовую гість кеш і кеш-пам'яті (xcache), але я досі вражений тим, як багато SELECT надходять з бази даних.

Час вимірювання вище (у секундах).

vBET
03-03-14, 10:15
Він взяв вашу базу даних 14 секунд для запиту? У самому справі? Це безумовно щось не так. Будь ласка, спробуйте відновити таблиці Admin CP, може, там що-то неправильно. Це не займе стільки часу - ці дані індексуються.

tavenger5
03-03-14, 19:54
У мене є відчуття, що деякі таблиці блокування та/або очікування для запиту кешу, який є, чому вони так довго виконати. Не кажучи вже про я міг би використовувати деякі більше на моїй пам'яті сервера бази даних - я працюю над цим.

vBET
11-03-14, 12:51
vBET є використання кешу таблиць без будь-яких правочинів (MYISAM) тому блокування не повинно бути проблемою. Можливо, ви порушили індексів і MySQL робить повний пошук. Ще раз, будь ласка, використовуйте ваш Admin 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