Разрешаването на кеширане MySQL, уебмастър datalife двигател
Включи кеширането в MySQL
В този раздел, аз искам да говоря за това как да се намали натоварването на сървъра MySQL да се даде възможност за кеширане на резултатите от заявката. Запитване за кеширане може да се подобри ефективността на уеб приложения, без да се прави публично, че структурните промени в приложенията си. Същността на работата му се състои в това, че тя съхранява резултатите от заявки в паметта и при второто искане, той не се съобрази с искането, а просто само дава резултатите от кеша. По подразбиране, MySQL кеширане е изключена, така че няма да бъде в състояние да се включи всичко, но само потребители с възможност да vyvolneniya заявки от MySQL като корен или да имат достъп до конфигурационните файлове на сървъра на MySQL. Но това е достатъчно, тъй като MySQL кеширане е ефективен само за vysokoposeschaemyh проекти, и те обикновено имат VPS тарифи, където има достъп до тинктури или свой собствен сървър. Ако вашият проект има малка посещаемост по принцип не е нужно да го, защото особено забележимо ефективност няма да получите.
MySQL предоставя вграден механизъм за кеширане на заявката, която не е активирана по подразбиране. За да се получи статут на кеширане изпълните заявката PhpMyAdmin:
покажи променливи, като например "query_cache%";
В резултат на това, вие получавате една маса в следните направления:
VARIABLE_NAME стойност | LT Вг > query_cache_limit 1048576
query_cache_min_res_unit 4096 | LT Вг > query_cache_size 0 | LT Вг > query_cache_type ON | LT Вг > query_cache_wlock_invalidate OFF
където query_cache_size показва размера заделена памет за искания кеш. За да се даде възможност на кеш заявка, и го изберете под 16 мегабайта памет искате да задава въпроси:
Вашето съобщение трябва да бъде извършена, както корен, а ако искате да направите тази настройка за постоянно, трябва да се добавят към подраздел в my.cnf [Mysqld] ред:
и рестартирате сървъра MySQL. Ако имате достатъчен резерв от RAM, размер на кеша, може да се увеличи. Но това е трудно да се прецени веднага след кеш паметта, необходимостта от увеличаване на кеш паметта може да се съди за един ден, след неговото включване, но ще ти обясня по-долу.
трябва да изпълните следната заявка за проверка на кеша sostyaniya:
SHOW GLOBAL СТАТУТ като "Qcache%";
Резултатът ще бъде една маса, подобно на следното:
Qcache_free_blocks 570
Qcache_free_memory 13454680
Qcache_hits 111749
Qcache_inserts 168162
Qcache_lowmem_prunes 0
Qcache_not_cached 38651
Qcache_queries_in_cache 1290
Qcache_total_blocks 3314
където Qcache_free_memory свободна памет размер на кеша, Qcache_hits редица искания, които са подадени от кеша, Qcache_lowmem_prunes брой освободи памет на липсата на кеш, а в идеалния случай трябва да бъде 0, ако не е така, това означава, че кеш паметта, който не разполагат с достатъчно и той трябва да бъде увеличен.
Внимание към ефективността на кеширане в MySQL DLE трябва да е в скрипта в оптимизация на раздел включва опция: