Экономика стран

К сожалению, большинство людей, которые будут ими затронуты почти весь мир, не будут иметь никакого влияния на результат. Вести Экономика Дайджест иностранной прессы за 14 августа.
Вести Экономика Греции снова придется списывать долги Греция не сможет самостоятельно расплатиться по долгам, и понадобится новая реструктуризация долгов, чтобы спасти страну от банкротства.

⚡ Аптымізацыя нагрузкі на WordPress

  1. аналізуем нагрузку
  2. аптымізацыя MySQL
  3. аптымізацыя wp_options
  4. Паскарэнне захавання і загрузкі палёў ACF
  5. кэшаванне
  6. аптымізацыя кода
  7. Минификация файлаў
  8. вынікі

Шмат копій было зламана ў абмеркаваннях, ці падыходзіць WordPress для рэалізацыі вялікіх і складаных праектаў, або на ім можна распрацоўваць толькі прасценькія блогі. Прэцэдэнтаў стварэння маштабных праектаў мноства: ад Techcrunch і vc.ru да Forbes і CNN. Але ці так проста зрабіць вялікі праект на WP? Ці не занадта ён пражэрлівы да рэсурсаў сервера? Гэтае пытанне мы з вамі і разгледзім у гэтым артыкуле.

Для прыкладу мы возьмем адзін з нашых праектаў на WP, прааналізуем яго нагрузку на сервер і разбярэм працэс яе аптымізацыі.

аналізуем нагрузку

аналізуем нагрузку

Для пачатку давайце паспрабуем ацаніць маштабы бедства: колькі па часе адкрываецца сайт, колькі файлаў загружаецца і колькі запытаў да MySQL патрабуецца для адлюстравання старонкі.

У гэтым нам дапаможа выдатны убудова Query Monitor - ўсталёўваны яго. У нашым выпадку асноўная праблема ясная: пры загрузцы старонкі робіцца 70 запытаў да базе даных, прычым некаторыя займаюць да секунды. Давайце разбірацца, чаму ж так шмат запытаў патрабуецца для адмалёўкі прасценькай старонкі.

аптымізацыя MySQL

WordPress не быў бы такім папулярным, калі б не яго зручным адмінка. А зрабіць адмінку ў WP такой зручнай дазваляе цудоўны убудова Advanced Custom Fields. Калі вы яшчэ яго не выкарыстоўваеце, то абавязкова паспрабуйце, ён дазваляе выводзіць дадзеныя любых фарматаў на сайце і з выгодай рэдагаваць іх адміністратару.

аптымізацыя wp_options

Усе дадзеныя ў ACF захоўваюцца ў выглядзе асобных запісаў у табліцах з мета-дадзенымі: wp_postmeta, wp_usermeta і wp_options. На wp_options варта звярнуць увагу, пры аналізе тыпавога сайта мы можам убачыць дзесяткі падобных запытаў да БД:

Справа ў тым, што многія убудовы захоўваюць свае налады ў гэтай табліцы і ніяк не кешируют дадзеныя. Вось прыклад дадзеных у табліцы: справа - слупок autoload, які адказвае за папярэднюю загрузку (і кэшаванне) дадзеных.

Раім для часта выкарыстоўваюцца дадзеных выставіць autoload = yes. У нашым выпадку гэта зэканоміла ~ 50 запытаў да БД.

Дарэчы, пры стварэнні налад ACF можна пазбегнуць рэдагавання палёў у базе дадзеных, проста перадаўшы пры выкліку acf_add_options_page параметр autoload = true. Але для іншых убудоў налады лепш усё-ткі праверыць.

Паскарэнне захавання і загрузкі палёў ACF

Перад пачаткам распрацоўкі з выкарыстаннем Advanced Custom Fields абавязкова трэба ствараць у тэчцы тэмы каталог acf-json. Гэта дазволіць ўключыць функцыю Local JSON , Якая кеширует налады палёў у json файлах і значна паскарае іх загрузку і запіс, а таксама дазваляе з выгодай захоўваць структуру палёў, напрыклад, у git і працаваць над сайтам у камандзе.

кэшаванне

Калі на вашым сайце няма вялікай колькасці дынамічнага кантэнту (напрыклад, каментароў), але загрузка дадзеных патрабуе вялікіх рэсурсаў сервера, то варта падумаць аб кэшавання старонак цалкам.

У гэтым нам дапаможа убудова WP Simple Cache , Або любой яго аналаг. Калі кэшаванне старонак цалкам вам не падыходзіць, то ўсё роўна варта падумаць аб кэшавання канкрэтных сутнасцяў вашага сайта.

аптымізацыя кода

аптымізацыя кода

Праглядзіце увесь код, асабліва - цяжкія цыклы і блокі з wp_query. Не варта рабіць складаныя запыты, з вялікай колькасцю умоў да запісаў WP. Яны могуць выконвацца вельмі доўга з-за складаных JOIN'ов на ўзроўні базы дадзеных, так што часам прасцей атрымаць большую колькасць запісаў з базы і адфільтраваць іх на ўзроўні PHP. Мы сутыкнуліся якраз з такой праблемай: нам прыйшлося перакласці нагрузку на само прыкладанне, бо хостер накладаў жорсткія абмежаванні на нагрузку да БД.

Таксама праверце, магчыма, некаторыя ўчасткі вашага кода напісаны неаптымальна і іх можна палепшыць.

Минификация файлаў

Для паскарэння загрузкі старонкі не перашкодзіць злучыць усе js і css файлы ў адзін і сціснуць іх. Гэта не знізіць значна нагрузку на сервер, але старонкі будуць грузіцца трохі хутчэй, што, пагадзіцеся, таксама нядрэнна. Для сціску можна выкарыстаць, напрыклад, гэты убудова .

вынікі

За кошт памяншэння колькасці і аптымізацыі "цяжкіх" запытаў нам удалося паменшыць нагрузку на БД практычна да нуля пры узрослай наведвальнасці сайта.

Праўда, загрузка на працэсар трохі вырасла:

Спадзяемся, што гэтая нататка дапаможа вам зрабіць ваш сайт крыху больш хуткім і менш пражэрлівым. Калі ўзнікнуць пытанні ці спатрэбіцца дапамога - пішыце нам, мы бясплатна прааналізуем ваш сайт і прапануем рашэнне па аптымізацыі!

Але ці так проста зрабіць вялікі праект на WP?
Ці не занадта ён пражэрлівы да рэсурсаў сервера?
Навигация сайта
Реклама
Панель управления
Календарь новостей
Популярные новости
Информация
Экономика стран www.mp3area.ru © 2005-2016
При копировании материала, ссылка на сайт обязательна.