Սկիզբ » Ուսումնական նյութեր » Վեբ » CMS - կառավարման համակարգեր » Վորդպրես » Վորդպրեսի(+ WPML) օպտիմալացման մի օրինակ

Վորդպրեսի(+ WPML) օպտիմալացման մի օրինակ

Այս հոդվածի նպատակն է ցույց տալ վորդպրեսով աշխատող կայքի օպտիմալացման մի օրինակ:
Ուրեմն այսպես, ելակետերն են.

  • Կայքը աշխատում է վորդպրեսի վրա
  • Կայքը մի քանի լեզուներով աշխատեցնելու նպատակով տեղադրված է WPML(WordPress MultiLingual) փլագինը
  • Տեղադրված են նաև մի քանի այլ փլագիններ

Գոյություն ունի մի օգտակար փլագին, որը հնարավորություն է ընձեռնում էջերի բեռնման ընթացքում փլագինների ազդեցության վերլուծություն կատարել, թե էջերի բեռնման ժամանակ, որ փլագինը որքան ժամանակ է ավելացնում էջի բեռնման ընդհանուր ժամանակին, ինչպես նաև ցույց է տալիս յուրաքանչյուր փլագինի կողմից տվյալների բազային կատարած հարցումների քանակը: Այլ բառերով ասած, որքան է յուրաքանչյուր փլագինը ծանրաբեռնում տվյալների բազան և վերջին հաշվով նաև ամբողջ կայքը: Փլագինը կոչվում է P3 Plugin Profiler:
Իմ դեպքում փլագինը սկզբում ցույց էր տալիս հետևյալ պատկերը, սա օգտագործվող փլագինների աշխատանքի ժամանակային գրաֆիկն է:

Վորդպրես(+WPML), բաժինը կայքի ռեսուրսների օգտագործման մեջ

Ինչպես տեսնում էք կայքը ամենաշատ ծանրաբեռնող փլագինը հենց մեր բազմալեզու փլագինն է, որի մասին սկզբում ասում էի: Հետո նայում եմ տվյալների բազային կատարված հարցումների քանակին:

Վորդպրեսս, բոլոր փլագինների հարցումները տվյալների բազային

Ու երևում է մի ահավոր պատկեր, մի էջ ստեղծելու համար համակարգը 500-ից ավել հարցում է անում տվյալների բազային: Սա ոչ թե շատ է, այլ անթույլատրելի ճոխություն է, չափազանց մեծ ճոխություն … Երկու գրաֆիկները համադրելով ենթադրում եմ, որ ամենաշատ հարցումները հենց WPML-ն է անում:
Մի փոքր մտածելուց հետո հասկացա ինչից է դա: Այսպես , ամեն մի էջ սարքելիս համակարգը հարցնում է ՏԲ*-ին կայքի բոլոր էլեմենտների թարգմանությունները, բացի դրանից, պիտի գտնի ակտիվ լեզվով առկա կատեգորիաները, բաժինները, նշագրերը, նաև հիմնական մենյուի մեջ գտնվող հղումները, բացի դրանից բոլոր օգտագործված վիջեթների մեջ գտնվող ակտիվ լեզվով առկա հղումները ու հղումների վերնագրերը/խարիսխները(anchor) և այլն: Ու երիևի թե հնարավոր չեր ավելի օպտիմալ գրել WPML փլագինը, որովհետև իրականում նախօրոք պարզ չի, թե որ վիջեթներն են օգտագործվելու կոնկրետ կայքում:
Ես ինձ բավարարող խնդրի լուծումը գտել եմ: Հիմնական մենյուի և բաժինների վիջեթը դարձրել եմ ստատիկ HTML, մտածելով որ դրանք հաճախակի չէն փոփոխվում, ամեն օր չի որ նոր բաժին է հայտնվում կայքում, ու իմաստ չունի, որ դրանք ստեղծելու համար համակարգը դիմի ՏԲ-ին: Ակտիվ լեզվի որոշման համար էլ WPML-ն տալիս է այս «գլոբալ» փոփոխականը

ICL_LANGUAGE_CODE

հասարակ if լեզվական կառուցվածքուվ կարելի է ասել, որ եթե ակտիվ լեզուն հայերեն է , ապա տպիր այսինչ HTML-ը, եթե անգլերեն ՝ ապա այնինչ HTML-ը …

Ու տեսեք արդյունքը, WPML-ն իհարկե բոլոր մնացած փլագինների հետ համեմատած ամենաորկրամոլ փլագինն է մնում, սակայն ընդհանուր ծանրաբեռնվածությունը անհամեմատ նվազել է:

Վորդպրես(+WPML), որքան ժամանակ է աշխատում, փոփոխություններից հետոՎորդպրես(+WPML), որքան ժամանակ է աշխատում, փոփոխություններից հետո

Տվյալների բազային արված հարցումների քանակի մասին էլ չէմ խոսում: Նվազել է 4-ից ավել անգամ:

Վորդպրեսս, բոլոր փլագինների հարցումները տվյալների բազային, փոփոխություններից հետոՎորդպրեսս, բոլոր փլագինների հարցումները տվյալների բազային, փոփոխություններից հետո

Եզրակացություն: Կայքի արագագործության համար անհրաժեշտ է բոլոր հնարավոր դեպքերում , դինամիկ ստեղծվող(ՏԲ-ից կարդացվող) էլեմենտները փոխարինել ստատիկ HTML-ներով: Ու սա չի վերաբերվում միայն WPML փլագինին: Սա ավելի ընդհանուր կանոն է:

ՀԳ: Իհարկե հարյուրին մոտ հարցումները նույնպես չափազանց շատ են, բայց այս մինիմալ փոփոխությունները** արդեն բերել են մեծ արդյունքի: Հարցումները ավելի քչացնելու անհրաժեշտություն դեռ չէմ տեսնում: Եթե որոշեմ, որ պետք է ավելի խորը քչփորել, ու հետաքրքիր բան լինի անպայման կգրեմ:

ՀԳ:2 Հայկական ցանցում mysql+վորդպրեսս օպտիմալացման մասին միայն մի հոդված(տեանյութ) գիտեմ, բավականին հետաքրքիր է, ահա հղումը
http://www.e-armenians.com/videotips/wp-db-optimization/

*ՏԲ-տվյալների բազա, տվյալների հենք
**սրանք միայն թեմայի ֆայլերի փոփոխություններ են, բուն WPML փլագինի ֆայլերին ձեռք չէմ տվել:

ՍկզբնԱղբյուր

Վորդպրեսի(+ WPML) օպտիմալացման մի օրինակ, 10.0 out of 10 based on 1 rating

Նշագրեր: , ,

Բաժին: Վորդպրես

Կիսվել , տարածել , պահպանել

VN:F [1.9.20_1166]
Rating: 10.0/10 (1 vote cast)

Մեկնաբանություններ (7)

Թրեքբեք հղում | Մեկնաբանությունների RSS ժապավեն

  1. Gevorg says:

    Ծանոթ իրավիճակա 🙂

    Կարելի է օգտվել նաև քեշինգի http://wordpress.org/extend/plugins/w3-total-cache/ այս պլագինից, որը դինամիկ կտորները ավտոմատ քեշավորում է և մյուս անգամ բացելուց ցուցադրում է գեներացված և պահված HTMLը, ոչ դե նորից ամբողջությամբ գեներացնում է էջը:

    Հ.Գ. Ես մի պահ երբ դեռ սկսնակ wordpress ի մեջ, կայքում օգտագործել էի 40-50 ից ավել պլագիններ, որոնց հեռացնելուց հետո նաև ՏԲ ում մնացել էր ահավոր լիքը զիբիլ, այնպես որ հիմա աշխատում եմ այն ֆունկցիոնալությունը, որն ինձ անհրաժեշտ է գրել ինքս թեմայի ֆունկցիաների մեջ: Տենց 10 անգամ արագացրեցի կայքս 🙂

  2. Gevorg says:

    Ի միջայլոց շատ շնորհակալություն էս մոնիտորինգի փլագինի համար, ես ժամանակին ման էի գալիս սենց բան, բայց ոչ մի ձև չեի գտնում!!!

Մեկնաբանեք

Կհաստատվեն միայն մեսրոպատառ հայերենով գրած մեկնաբանությունները

261