WordPress Super Cache მოდული, ჩვენ ვიყენებთ ბრაუზერის ქეშს. როგორ დავაყენოთ WordPress ქეშირება? სად არის ქეშის დრო WordPress-ში?

ვიმედოვნებ, არ არის საჭირო ვინმესთვის ახსნა, თუ რატომ არის საჭირო ქეშირების მოდული და რამდენად მნიშვნელოვანია აირჩიოს ის, რომელიც ნამდვილად დაეხმარება და არა მხოლოდ მონაცემთა ბაზაზე დამატებითი დატვირთვის შექმნას მისი არსებობით. ანალიზის დროს ჩვენ გავითვალისწინებთ ყველა ინდიკატორს და არა მხოლოდ დატვირთვის დროს.

ქეშირების სარგებელი

მცირე გადახვევა. თუ ვინმეს ჯერ კიდევ ეჭვი ეპარება ქეშირების აუცილებლობაში, მაშინ იცოდეთ, რომ 21 აპრილიდან Google-მა გამოაცხადა, რომ მობილურისთვის მოსახერხებელი ყველა საიტი (და სიჩქარე „მეგობრულის“ ერთ-ერთი კომპონენტია) მნიშვნელოვან უპირატესობას იძენს ძიების შედეგებში. Google-ის განზრახვები ძალიან ნათელია - SEO სპეციალისტებმა და ვებმასტერებმა უნდა იმუშაონ როგორც დესკტოპზე, ასევე დესკტოპზე. მობილური ვერსიასაიტი.

არსებობს რამდენიმე გზა თქვენი საიტის მუშაობის გასაუმჯობესებლად და მისი ჩატვირთვის დროის შესამცირებლად, მაგრამ დამწყები (და არა მხოლოდ) ოპტიმიზატორების უმეტესობისთვის ქეშირების დანამატები არ არის ერთ-ერთი, არამედ ერთადერთი ინსტრუმენტი, რომელიც გამოიყენება მიზნის მისაღწევად.

WordPress წარმოქმნის გვერდებს დინამიურად, რაც იწვევს მონაცემთა ბაზაში მოთხოვნების დიდ რაოდენობას. დინამიურად გენერირებული გვერდების ქეშირება მომხმარებლებს საშუალებას აძლევს ნახონ რეგულარული HTML გვერდები, რაც მნიშვნელოვნად ამცირებს გვერდის დატვირთვის დროს და ამცირებს სერვერის დატვირთვას.

ტესტის დეტალების ქეშირება

თავიდანვე იგეგმებოდა ტესტებში 2 თემის გამოყენება - უმარტივესი „ოცდათოთხმეტი“ და უფრო რთული (რომელიც „ნამდვილ“ საიტს მიბაძავდა). მაგრამ ტესტების დროს აღმოჩნდა, რომ ქეშირების ეფექტი "ოცდათოთხმეტი" თემის დატვირთვის სიჩქარეზე იმდენად მინიმალურია, რომ მისი უგულებელყოფა შეიძლება. უფრო მნიშვნელოვანი აღმოჩნდა ჯარიმა დაყენებასერვერები, მაგრამ დღევანდელი სტატია ამის შესახებ არ არის.

ჩვენ საბოლოოდ გამოვიყენებთ მხოლოდ 1 თემას (სიახლის თემა Tesla თემებიდან). ტესტის გვერდი შექმნილია გრაფიკისა და ტექსტის გამოყენებით. ასევე არის გვერდითი პანელი და რამდენიმე დანამატი (ახალი ამბები, არხი Twitter/Instagram-იდან). ჰოსტინგი გამოყენებული WP Dev Shed-დან. შედეგად, მივიღეთ გვერდი შედარებით დიდი დროჩამოტვირთვები.

იმიტომ რომ საიტი ახალია, არ ჰქონდა ტრეფიკი (მათ შორის, ტესტირების დროს, PS ბოტებიც კი არ იყო). სერვერი მუშაობდა Apache+ Ngnix-თან ერთად.

ტესტში მონაწილეობდნენ შემდეგი დანამატები:

  1. AIO ქეში
  2. WP სწრაფი ქეში
  3. WP-Cache.Com
  4. ალფა ქეში
  5. Flexicache
  6. Bodi0-ის მარტივი ქეში
  7. ჰიპერ ქეში
  8. ჰიპერ ქეში გაფართოებული
  9. კაჩიფი
  10. Lite Cache
  11. შემდეგი დონის ქეში
  12. ნამდვილად სტატიკური
  13. სუპერ სტატიკური ქეში
  14. W3 სულ ქეში
  15. Gator Cache
  16. Wordfence Falcon
  17. WP უსწრაფესი ქეში
  18. WP Rocket
  19. WP სუპერ ქეში
  20. Zen Cache (ყოფილი სწრაფი ქეში)

ტესტისთვის დარჩა შემდეგი:

Brutal Cache - არ მუშაობდა;

Batcache არის მოდული Memcache-ზე დამოკიდებულებით, რომელიც არ იყო გამოყენებული მიმდინარე ტესტში.

Autoptimize და ვიჯეტის ქეში ასევე გამოტოვებულია, რადგან ისინი არ არიან დამოუკიდებელი დანამატები, მაგრამ მხარს უჭერენ სხვებს.

ბენჩმარკინგის ინსტრუმენტები

ჩვენ ვიყენებდით Google-ის, GTMetrix-ისა და Yahoo-ს სერვისებს, როგორც ხელსაწყოებს. ამის წყალობით შემოწმდა არა მხოლოდ გვერდის ჩატვირთვის სიჩქარე, არამედ:

  • გამოსახულების ოპტიმიზაცია;
  • js და css კოდების მინიფიკაცია და ოპტიმიზაცია;
  • ბრაუზერის ქეშირების გამოყენება;
  • სერვერის დროის დაგვიანება;
  • Gzip შეკუმშვის გამოყენება;
  • სკრიპტების განთავსება;
  • HTTP მოთხოვნის რაოდენობა.
  • CDN-ის გამოყენება, პარალელიზება/დომენის გაზიარება;

Google PageSpeed ​​Insights

საიტის შემოწმება ხდება როგორც დესკტოპის კომპიუტერის, ასევე მობილური მოწყობილობიდან. შედეგი მოცემულია 100-ბალიანი შკალით. სერვისი მარტივი გამოსაყენებელია, მაგრამ იძლევა შედარებით უხეში შედეგს, რომელიც არ იძლევა სრულ გაგებას ყველაფრის შესახებ, რაც შეიძლება გაუმჯობესდეს.

GTMetrix და YSlow

Yahoo-ს მუშაობის გაუმჯობესების სახელმძღვანელოზე დაყრდნობით. კვლავ გამოიყენება 100 ქულიანი სკალა. სერვისები მუშაობს 50-ზე მეტ სხვადასხვა მეტრიკასთან. GTMetrix კი ვიზუალიზებს მონაცემებს ჩატვირთვის პროცესის ჩანჩქერის სქემაში. ჩვენი აზრით, ეს არის ერთ-ერთი საუკეთესო იარაღებისაიტის მუშაობის გაუმჯობესების გზების იდენტიფიცირება.

Დროის განაწილება

შემდეგი ინსტრუმენტები იქნა გამოყენებული გვერდის ჩატვირთვის სიჩქარის დასადგენად და სერვერის მუშაობის შესამოწმებლად დატვირთვის ქვეშ:

ApacheBench

ემსახურება ადგილზე დატვირთვის განსაზღვრას, ითვლის მაქსიმალური თანხამოთხოვნა წამში. ტესტის დროს 1000 მოთხოვნა გაიგზავნა 10 სხვადასხვა თემაში. ტესტი ჩატარდა 10-ჯერ. დაფიქსირდა საუკეთესო შედეგი თითოეული დანამატისთვის.

ძალიან ცნობილი ვებსაიტის მონიტორინგისა და ტესტირების სერვისი. თითოეულ დანამატთან ერთად ჩატარდა 20 ტესტი და საუკეთესო შედეგი დაფიქსირდა.

მარტივი მაგრამ სასარგებლო სერვისი, აჩვენებს იმ დროს, რაც სჭირდება გვერდის სრულად ჩატვირთვას თქვენს ბრაუზერში. ეს არ არის სერვერის მხარის ინსტრუმენტი, არამედ სერვისი, რომელიც მუშაობს ადგილობრივად. ჩვენ ავირჩიეთ ჩამოტვირთვის მეთოდი Ethernet-ის საშუალებით, ოპერის ბრაუზერი. თითოეული გვერდი გადმოწერილი იყო 101-ჯერ, ჩაწერის საშუალო დროით.

ასე რომ, დავიწყოთ ტესტირება.

Google, GTMetrix და Yslow

საიტის გვერდების ტესტირების შედეგი მითითებული სერვისების გამოყენებით:

როგორც ცხრილიდან ხედავთ, ზოგიერთი დანამატი აქ კარგად ვერ მუშაობდა - ქულა იგივეა ან ძალიან ახლოსაა ქულასთან ქეშირების გარეშე. Google-მა Super cache-ს საუკეთესო შეფასება მიანიჭა (როგორც დესკტოპისთვის, ასევე მობილურისთვის). GTmetrix-სა და Yslow-ში Fastest Cache-მ და Rocket-მა აჩვენა საუკეთესო შედეგი. როგორც უკვე ვთქვით, Google-ის რეიტინგი ნაკლებად ინფორმატიულია, რადგან... იგი იყენებს ნაკლებ ფაქტორებს შეფასებისას.

ასე რომ, საუკეთესო დანამატები იყო WP Super Cache, WP Fastest Cache და WP Rocket Cache.

Დროის განაწილება

შეფასების ქულები ძირითადად მიუთითებს საიტის კოდის ხარისხზე. ეს იძლევა იმის გაგებას, თუ რა შეიძლება გაკეთდეს საიტის დასაჩქარებლად. თუმცა, საიტის მაღალი რეიტინგი არ ნიშნავს იმას, რომ ის სხვებზე სწრაფად იტვირთება. და ეს არის მთავარი შეცდომა - შეფასების ინსტრუმენტები იძლევა იდეების სიუხვეს საიტის გასაუმჯობესებლად, რათა შემცირდეს დატვირთვის დრო, მაგრამ ამავე დროს, თავად დატვირთვის დრო პრაქტიკულად არ არის გათვალისწინებული. ქვემოთ მოცემულია ნათელი მაგალითი (სკრინშოტი Pingdom-დან).

გვერდმა 100-დან 96 ქულა დააგროვა (ეს უკეთესია, ვიდრე გვერდების 99% ნებისმიერ საიტზე). ამავდროულად, გვერდი იტვირთება დაახლოებით 35 წამში. ეს არის ის, რაც ბრმა ოპტიმიზაციამ შეიძლება გამოიწვიოს.

დრო ძალიან მნიშვნელოვანი ტესტია, რადგან... ტარდება გვერდის ჩატვირთვის სიჩქარის რეალური გაზომვები.

ApacheBench

მოდით განვსაზღვროთ მოთხოვნის მაქსიმალური რაოდენობა წამში, რომლის მხარდაჭერაც ჩვენს სერვერს შეუძლია. რაც მეტია რიცხვი მით უკეთესი.

WP Rocket-მა აჩვენა საუკეთესო შედეგი. მეორე და მესამე ადგილები გაიზიარა WP-Cache.com და WP Fastest Cache.

შედეგი ქეშირების გარეშე არის 2.78 წამი. ყველა დანამატმა შეძლო ამ ინდიკატორის გაუმჯობესება.

უდავო ლიდერი ისევ WPRocket-ია. Super Cache არის მეორე, W3 Total Cache მესამეა.

აქ ჩვენ გადავწყვიტეთ გამოგვეტანა არა მხოლოდ საშუალო, არამედ მედიანური ტესტის შედეგი.

საშუალო დატვირთვის დრო

სიტუაცია წინა ტესტის მსგავსია. სამეული არ შეცვლილა - WPRocket, WPSuperCache და W3 TotalCache.

ჩატვირთვის საშუალო დრო

ლიდერი მაინც WP Rocket-ია, მაგრამ ამავდროულად პრაქტიკულად უცნობი WP-Cache.com ისევ ძალიან კარგ შედეგს აჩვენებს.

მარტო ქეშირება არ ხდება

რა თქმა უნდა, ყველაფერი არ არის დამოკიდებული მხოლოდ ქეშირებაზე. როლს თამაშობს Apache+Nginx კომბინაციის არჩევანი, სერვერის სწორი პარამეტრები და მისი ტიპი (გამოყოფილი, VPS, გაზიარებული), სურათების რაოდენობა და ხარისხი (ოპტიმიზაცია) და მრავალი სხვა.

დასკვნა

ყველა წარმოდგენილ დანამატს აქვს განსხვავებული ფუნქციონირება. ზოგიერთი უხამსად მარტივია, ზოგი კი შეიძლება შევადაროთ შვეიცარიულ სამხედრო დანას. Super Cache, W3 და სხვა მსგავსი დანამატები ხშირად იყენებენ თავიანთ მუშაობაში პროფესიონალების მიერ, რომლებიც კარგად იცნობენ CDN-ს და სხვა ხრიკებს. სხვა მომხმარებლები (განსაკუთრებით დამწყები) ირჩევენ უფრო მარტივ დანამატებს (Lite Cache ან WP-Cache.com). სხვათა შორის, WP-Cache.com, მიუხედავად მისი ნაკლებად ცნობილი სტატუსისა, შეძლო შესანიშნავი შედეგების ჩვენება.

WordPress-ის რომელი მოდული უკეთ ქეშირებს?

პირველ ადგილზე (დიდი სხვაობით) არის WP-Rocket. მას ბევრი უპირატესობა აქვს, მაგრამ არის ერთი BUT (ბევრისთვის ეს მინუსი იქნება) - ფასიანია. დეველოპერებს სურთ ამისთვის $39 (და განახლებები არ არის უწყვეტი, მაგრამ მხოლოდ ერთი წლის განმავლობაში)

მეორე ადგილზე (თუმცა იმის გათვალისწინებით, თუ რამდენად უფასოა ის, ის ასევე შეიძლება პირველ ადგილზე იყოს) არის WPSuperCache. შედეგები თითქმის იგივეა, რაც ლიდერის, მაგრამ ის აბსოლუტურად უფასოა!

მესამე ადგილზეა WP-cache.com. ერთადერთი დამაბნეველი ის არის, რომ ის ბოლოს განახლდა 2014 წელს.

მაგრამ ეს არის მარტივი, უფასო და აჩვენებს ღირსეულ შედეგებს.

დიდი ხანია, რაც Google-მა გამოაცხადა, რომ საიტის ჩატვირთვის სიჩქარე გავლენას მოახდენს რეიტინგზე. იგივე ეხება მობილურ მოწყობილობებს. მაგრამ ის, რაც ყველაზე მეტად უნდა შეგაწუხოთ არის ის, თუ როგორ იმოქმედებს ნელი საიტი მომხმარებლებზე. მაგალითად, იცით თუ არა, რომ ინტერნეტში მყოფი ვებსაიტების ნახევარს სჯერა, რომ ვებსაიტი უნდა იტვირთებოდეს ორ წამში ან ნაკლებ დროში? მე ვფიქრობ, რომ ეს საკმაოდ სამართლიანია, რადგან თუ ამაზე დაფიქრდებით, არაფერია იმაზე მეტი შემაშფოთებელი, ვიდრე რაიმე დატვირთულის ყურება. რომ აღარაფერი ვთქვათ უხერხულობაზე, რომელსაც ადამიანი განიცდის, როცა რაღაცის ყიდვა უნდა, მაგრამ საიტი ნელია.

საბედნიეროდ, არსებობს მრავალი გზა, რომლითაც შეგიძლიათ დააჩქაროთ თქვენი ვებ – გვერდი. Ერთ - ერთი საუკეთესო ვარიანტებიარის სპეციალური მოდულის გამოყენება ქეშისთვის (ქეში). დღეს ჩვენ გადავხედავთ რა არის ქეშირება და რატომ არის ის ასე კრიტიკული, როდესაც საქმე ეხება გვერდის ჩატვირთვის სიჩქარეს. გარდა ამისა, მე ასევე გაგიზიარებთ ბაზარზე საუკეთესო ქეში მოდულების ჩამონათვალს.

რა არის ქეში?

ქეში არის ადგილი კომპიუტერის მეხსიერებაში, სადაც მონაცემები ინახება მომავალი გამოყენებისთვის. მაგალითად, იმის ნაცვლად, რომ მთლიანად განხორციელდეს საიტის მონაცემთა ბაზიდან ჩატვირთვის პროცესი, მონაცემების ნაწილი ჩამოიტვირთება ქეშიდან. როდესაც ვიზიტორი დადის თქვენს საიტზე, საიტი ითხოვს მონაცემებს მონაცემთა ბაზიდან, რომელიც ინახება ჰოსტინგზე. უფრო კონკრეტულად, ისინი ითხოვენ თქვენი საიტის სურათებს, Javascript-ს და CSS-ს, რათა ის იყოს წასაკითხად HTML ფაილებში და მიეწოდება პირდაპირ ბრაუზერს. სამწუხაროდ, ეს პროცესი გარკვეულ რესურსებს მოითხოვს და დრო სჭირდება. თუმცა, არ არის საჭირო საიტის მომხმარებლებმა ამ პროცესის ყოველ ჯერზე გაშვება. განსაკუთრებით მაშინ, როდესაც საქმე ეხება სტატიკურ შინაარსს თქვენს საიტზე. მაგალითად, გამოქვეყნებული პოსტები, რომელთა რედაქტირება ნაკლებად სავარაუდოა ვინმეს მიერ.

სწორედ ამიტომ არის საჭირო თქვენი საიტის ქეშირება, თუ გსურთ:

  • სწრაფად უზრუნველყოს საიტის მონაცემებზე წვდომა, რომელიც იშვიათად იცვლება
  • დააჩქარეთ საიტის მთელი დატვირთვის პროცესი
  • უზრუნველყოს უკეთესი მომხმარებლის გამოცდილება თქვენი საიტის ყველა ვიზიტორისთვის
  • დაწინაურება საძიებო სისტემების რეიტინგში ჩამოტვირთვის მაღალი მაჩვენებლის წყალობით
  • დაზოგეთ სერვერის რესურსები და შეამცირეთ ავარიების რაოდენობა

როგორც ხედავთ, თქვენი WordPress საიტის ქეშირებას უამრავი სარგებელი აქვს.

ძირითადი ფუნქციონირება, რომელიც შედის თითოეულ ხსენებულ დანამატში:

  • ქეშირება მობილური მომხმარებლებისთვის
  • ფაილის ზომის შემცირება და GZIP შეკუმშვა
  • ქეშის გაწმენდის გრაფიკის დაყენება
  • HTTPS/SSL მხარდაჭერა

საუკეთესო WordPress ქეშირების დანამატები

იმის ცოდნა, რომ საიტის სიჩქარე ძალიან მნიშვნელოვანია და რომ ეს პირდაპირ დამოკიდებულია ქეშირებაზე, ჩვენი შემდეგი ნაბიჯი არის შესაბამისი მოდულის დამატება ჩვენს საიტზე. აქ არის რამდენიმე ყველაზე საიმედო, ხელმისაწვდომი და ფუნქციებით მდიდარი გადაწყვეტილებები.

დღეს გეპატიჟებით ისეთი საინტერესო თემის განხილვაზე, როგორიც არის WordPress-ში ქეშირება. უპირველეს ყოვლისა, თქვენ უნდა განმარტოთ რა არის ქეშირება და რატომ არის საჭირო?ყველა ბლოგერს და ვებმასტერს სამართლიანად სურს, რომ მისმა ბლოგმა ან ვებსაიტმა სწრაფად იმუშაოს. მოგეხსენებათ, WP-ს არ აქვს რეკორდული მაღალი შესრულება, ამიტომ ხშირად კარგი ჰოსტინგიც კი ვერ ახერხებს ამის კომპენსირებას. მაგრამ თუ თქვენ გაქვთ "მძიმე" შინაარსი და თუნდაც მაღალი ტრეფიკი, ეს შეიძლება იყოს კატასტროფა. ნებისმიერ შემთხვევაში, არსებობს ბლოგის დაჩქარების შესაძლებლობა, რატომ არ უნდა გავაკეთოთ ეს?

WordPress ძრავა, როგორც ზემოთ აღინიშნა, ბუნებით მძიმეა. ეს ყველაფერი მის „დინამიზმზეა“. „სტატიკური“ პლატფორმებისგან განსხვავებით, WP მუშაობს PHP-ზე, რომელიც უამრავ მოთხოვნას უგზავნის მონაცემთა ბაზებს, რის გამოც რეალურად იქმნება კონტენტი. საბედნიეროდ, არსებობს ტექნოლოგია, რომელსაც შეუძლია მნიშვნელოვნად დააჩქაროს პროცესი, მას ქეშირება ჰქვია.

ქეშირების პრინციპიძირითადად საკმაოდ მარტივია. ჩვეულებრივ, ეს ყველაფერი მიდის იმ ფაქტზე, რომ ესა თუ ის მოდული წარმოქმნის სტატიკურ გვერდებს დინამიური გვერდებიდან, შემდგომში მათ უჩვენებს ვიზიტორს. ამავდროულად, სერვერს არ უწევს მოთხოვნების უმეტესობის დამუშავება, რაც მნიშვნელოვნად ამცირებს სერვერის დატვირთვას და ზრდის სიჩქარეს. ახლა მოდით გადავიდეთ საქმეზე. რა ქეშირების დანამატები არსებობს და რომელი უნდა აირჩიოთ? ამაში დაგვეხმარება Tutorial9-ზე ჩატარებული შესანიშნავი კვლევა და მინდა მოგაწოდოთ ამონარიდი შედეგებიდან.

როგორ ჩატარდა ეს კვლევა? Apache Benchmark გამოიყენებოდა კონკრეტული მოდულის მუშაობის შესაფასებლად. ეს ტესტი ქმნის დიდი რიცხვიმოთხოვნები, რომლებზედაც გენერირდება მოხსენება სერვერის მიერ წამში დამუშავებული მოთხოვნის რაოდენობისა და მონაცემთა გადაცემის საშუალო დროის შესახებ. საწყისი მონაცემები: WordPress 2.9.1 დაყენებული რამდენიმე პოპულარული დანამატით - Akismet, All in SEO Pack და Google XML Sitemap. სატესტო ბლოგზე ტრაფიკის რაოდენობა არ არის დიდი; წარმოდგენილია შერეული შინაარსი - ტექსტი, სურათები, ცხრილები, java სკრიპტები. ობიექტურობისთვის, თითოეული გაზომვა დღეში რამდენჯერმე მეორდებოდა.

მე არ მივცემ ყველა იმ მოდულის ტესტირების შედეგებს, რომლებიც შემოწმდა Tutorial9-ის ავტორებმა, რადგან აზრი აქვს ფოკუსირებას მხოლოდ ყველაზე გავრცელებულ, პოპულარულ და პოპულარულ დანამატებზე. ასე რომ, დავიწყოთ:

ბლოგი გამორთული ქეშირებით
ბლოგმა გააქტიურებული დანამატების გარეშე აჩვენა შემდეგი შედეგები:

მოთხოვნა წამში - 13,96;
თითოეული მოთხოვნის დრო - 716,58 ms;
მონაცემთა გადაცემის სიჩქარე - 673,98 Kbps

როგორც ხედავთ, საწყისი მონაცემები არ არის შთამბეჭდავი. ვნახოთ რა და როგორ შეგვიძლია გავაუმჯობესოთ.

თუ თქვენ იზიდავთ აუდიტორიას სოციალური ქსელებიდან, რომელსაც შეუძლია წარმოქმნას ძალიან დიდი ტრაფიკი, თქვენ ვერ უმკლავდებით ქეშირების გარეშე. სხვათა შორის, არსებობს ასეთი იაფი სერვისი https://avi1.ru/ ანგარიშების, ჯგუფების, თემებისა და შეხვედრების განვითარებისა და პოპულარიზაციისთვის ყველაზე ცნობადი და ხელმისაწვდომი სოციალურ ქსელებში. მისი დახმარებით შეგიძლიათ მიიღოთ დიდი რაოდენობით მოწონებები, ნახვები, გამომწერები და კომენტარები.

პოპულარულმა WP-Cache მოდულმა აჩვენა შემდეგი შედეგები:

მოთხოვნა წამში - 109,59;
თითოეული მოთხოვნის დრო - 91,25 ms;
მონაცემთა გადაცემის სიჩქარე - 5307,00 Kbps

შესამჩნევად უკეთესია, ვიდრე ქეშირების გარეშე. შედეგი საშუალოდ 685%-ით აღემატება ბლოგს გააქტიურებული დანამატების გარეშე. მე აღვნიშნავ, რომ WP-Cache არის დიდი ხნის ცნობილი მოდული, რომელიც ისტორიულად პოპულარულია.

WP Super Cache Plugin

WP Super Cache ამჟამად ალბათ უფრო პოპულარულია ვიდრე WP-Cache. ამის ახსნა მარტივია - WP Super Cache არის WP-Cache-ის შეცვლილი ვერსია. გარდა იმისა, რომ ის უფრო სწრაფია, ის ასევე „ჭკვიანურია“, ანუ უფრო მეტის გაკეთება შეუძლია, ვიდრე წინამორბედს. კერძოდ, მისი ინსტალაცია და ამოღება უფრო ადვილია, მას შეუძლია „ნაგვის“ გასუფთავება დეაქტივაციის შემდეგ და ა.შ.

რაც შეეხება სიჩქარეს, შედეგი ასეთია:

მოთხოვნა წამში - 118,23;
თითოეული მოთხოვნის დრო - 84,58 ms;
მონაცემთა გადაცემის სიჩქარე - 5743,07 Kbps

ტესტის შედეგები აღემატება WP-Cache შედეგებს. WP Super Cache საშუალოდ 747%-ით უფრო სწრაფია, ვიდრე ბლოგი ჩართული ქეშირების გარეშე. მინდა აღვნიშნო კიდევ ერთი თვისება - თუ WP Super Cache-შიაშეკუმშვა ჩართულია, ის შეიძლება იყოს უფრო ნელი ვიდრე ბლოგი დანამატების გარეშე!

Hyper Cache მოდული

Hyper Cache არის საკმაოდ ახალი მოდული, რომელსაც ჯერ კიდევ არ მიუღია დიდი პოპულარობა. მიუხედავად ამისა, მან აჩვენა შესანიშნავი შედეგები ტესტირების დროს. გარდა ამისა, მოდულის ინსტალაცია და კონფიგურაცია საკმაოდ მარტივია.

შედეგები:

მოთხოვნა წამში - 130,75;
თითოეული მოთხოვნის დრო - 76,48 ms;
მონაცემთა გადაცემის სიჩქარე - 6325,36 Kbps

საშუალოდ, ეს 837%-ით უკეთესია, ვიდრე ბლოგი დანამატების გარეშე.

WordPress დანამატების ქეშირების შედეგები

მე არ ჩამოვთვალე ყველა დანამატი ამ სტატიაში, რადგან ოპტიმალური არჩევანიარის ერთ-ერთი ზემოთ განხილული. თუ თქვენ გაქვთ დრო, სურვილი და ინგლისური ენის ცოდნა, შეგიძლიათ მარტივად შეისწავლოთ კვლევის სრული შედეგები WordPress-ის ქეშირების დანამატების შედარებით.

Hyper Cache-მა აჩვენა საუკეთესო შედეგიგარდა ამისა, ის უზრუნველყოფს კარგ კონტროლს პროცესზე. სავსებით შესაძლებელია WP-Cache ან WP Super Cache-ის გამოყენება. ორივე მნიშვნელოვნად აუმჯობესებს პროდუქტიულობას. გარდა ამისა, ისინი არიან „ძველი კარგი“ კოჰორტადან, დადასტურებული თაობების მიერ, რაც იმას ნიშნავს, რომ მათ კარგად უჭერენ მხარს. იმედი მაქვს, რომ ეს სტატია დაგეხმარებათ გადაწყვიტოთ რომელი ქეშირების მოდული გამოიყენოთ. ეს ყველაფერი ინსტალაციაზეა! რაც შემეხება მე, ჩემი ბლოგის ერთ-ერთი ბლოგისთვის ვიყენებ WP Super Cache ქეშირების დანამატს, როგორც ჩანს, ეს მეხმარება :)

WordPress-ის ქეშირების რომელ დანამატს იყენებთ და რატომ?

Კარგი დღე! საიდუმლო არ არის, რომ WordPress არის მრავალფუნქციური და მოსახერხებელი პლატფორმა, მაგრამ საკმაოდ შრომატევადი. ტრაფიკის მატებასთან ერთად, სერვერზე დატვირთვა შესამჩნევად იზრდება, შესრულება მცირდება და, შედეგად, გვერდები იტვირთება ნელა.

ჩემი ბლოგის ოპტიმიზაციაზე მუშაობისას უკიდურესად უკმაყოფილო ვარ ამ სიტუაციით და კიდევ ერთხელ ვცდილობ დავაჩქარო გვერდის ჩატვირთვა, გავაუმჯობესო ქცევითი ფაქტორები, დაზოგე საკუთარი და სხვისი ნერვები.

Google-ში ძიების შედეგად მივედი სწორ გადაწყვეტილებამდე - გამოიყენეთ გვერდის ქეშირება.

ვებგვერდის ქეშირების ალგორითმი

მას შემდეგ, რაც WordPress არის დინამიური სისტემა, გვერდები იქმნება ყოველ ჯერზე, როდესაც მათზე წვდომა ხდება. ამ ეტაპზე სერვერზე გენერირდება მოთხოვნილი გვერდი, რომელიც თავსატეხის მსგავსად აწყობს სხვადასხვა შაბლონის ფაილებიდან, ასევე დაკავშირებული მესამე მხარის ფაილებიდან და სკრიპტებიდან. გვერდის სტრუქტურის ჩამოყალიბების შემდეგ, ის ივსება შინაარსით, რომელიც ამოღებულია.

ყველა ეს პროცესი ხდება სერვერის მხარეს. შესაბამისად, თუ ადგილი აქვს ტრაფიკის მკვეთრ ზრდას, სერვერი ვერ უმკლავდება შეზღუდული შესაძლებლობების გამო და იწვევს შეცდომებს. გვერდები არ იხსნება ან იტვირთება ძალიან ნელა. თუ სერვერის რესურსის ლიმიტი გადააჭარბებს, ანგარიში შეიძლება გაითიშოს.

ხელს უწყობს სტრესის დაძლევას და მადის შემცირებას WordPress-ის ქეშირება— დინამიურ გვერდზე წვდომისას ის ჩვეულებრივ გენერირდება სერვერზე, მაგრამ საბოლოო ვერსია სტატიკურად ინახება HTML ფორმატში, ე.ი. ეს არის დასრულებული გვერდი.

იმავე გვერდზე შემდგომი ზარების დროს, ქეშიდან გვერდი ბრუნდება და სისტემის რესურსებიამავე დროს ისინი ზოგავენ ფულს.

Hyper Cache - ინსტალაციისა და კონფიგურაციის ინსტრუქციები

თუ ამას თავიდანვე დააკვირდებით, შეგიძლიათ იპოვოთ მრავალი ვარიანტი WordPress-ზე ქეშირებისთვის სხვადასხვა დანამატების გამოყენებისთვის, მათ უმეტესობას მუშაობის მსგავსი პრინციპი აქვს. სანამ ამ პოსტზე ვიმუშავებდი, ვცადე რამდენიმე ყველაზე ცნობილი მათგანის დაყენება, მაგრამ უფასო Hyper Cache მოდულმა ყველაზე ხელშესახები შედეგი მოიტანა.

ქეშის ჩართვა WordPress-ზე

სანამ მოდულთან მუშაობას დაიწყებთ, უნდა ჩართოთ WP-ზე ქეშირებული გვერდების გამოყენების მხარდაჭერა. ეს კეთდება ძირითადი კონფიგურაციის ფაილში wp-config.php, რომელიც მდებარეობს WordPress-ის ინსტალაციის საქაღალდეში. გახსენით ფაილი ტექსტის რედაქტორი, გირჩევთ გამოიყენოთ Notepad++ კოდირების პრობლემების თავიდან ასაცილებლად, ან გამოიყენოთ ჩაშენებული რედაქტორი თქვენი ჰოსტინგის მართვის პანელიდან.

ასე რომ, ეს ხაზი უნდა დაემატოს კონფიგურაციის ფაილს:

Define ("WP_CACHE" , true );

დეველოპერის გვერდზე ნათქვამია, რომ ის უნდა იყოს ჩასმული სტრიქონის შემდეგ:

განსაზღვრა ("WPLANG", "ru_RU");

Hyper Cache ქეშირების მოდულის ინსტალაცია

მოდულის ინსტალაციისთვის, თქვენ უნდა გადმოწეროთ ის ოფიციალური სანდოდან, ატვირთოთ იგი FTP-ის საშუალებით დანამატების საქაღალდეში და ამოალაგოთ იგი. ეს ძალიან დამღლელი მეთოდია, ჩემი აზრით, მე ყოველთვის ვაყენებ დანამატებს პირდაპირ ადმინისტრაციული პანელიდან: Plugins - დაამატეთ ახალი და შემდეგ ჩადეთ Hyper Cache საძიებო ზოლში, სიაში პირველი არის საჭირო:

მე უკვე დაინსტალირებული მაქვს, მაგრამ უნდა დავაჭირო ინსტალაციის ბმულს და შემდეგ გავააქტიურო. აღსანიშნავია, რომ WP ქეშირების ამ დანამატზე მუშაობა არ ჩერდება, როგორც ეს ხშირად ხდება. განხორციელდა დაგეგმილი განახლებები, გაუმჯობესდა ფუნქციონალობა და უსაფრთხოების პარამეტრები და უზრუნველყოფილია განახლებებთან თავსებადობა. ამრიგად, დღემდე უახლესი ვერსია თავსებადია უახლესი ვერსია CMS.

ინსტალაციისა და გააქტიურების შემდეგ, ადმინისტრაციის კონსოლში გამოჩნდება ახალი ელემენტი (პარამეტრების მენიუ): Hyper Cache - მას აქვს მრავალი პარამეტრი.

Hyper Cache-ის, ქეშის ვარიანტების დაყენება WordPress-ზე

იმისათვის, რომ დანამატი სრულად იმუშაოს და გამოიყენოს ქეში WordPress-ზე, თქვენ უნდა შეასრულოთ მოდულის დეტალური კონფიგურაცია. გვერდის ზედა ნაწილში არის ქეშის გასასუფთავებლად ღილაკი - ქეშის გასუფთავება - დაგჭირდებათ, თუ შეიტანეთ ცვლილებები სტრუქტურაში ან დიზაინში და გსურთ, რომ მომხმარებლებმა ნახონ. განახლებული ვერსიებიგვერდები.

ქეშის სტატუსი

ეს პუნქტი მიუთითებს WP ქეში გვერდების რაოდენობაზე და შემდეგ ჯერზე ქეშირებული გვერდების გადატვირთვა.

პარამეტრები

  • ქეშირებული გვერდის დროის ამოწურვა - დრო, რომლის დროსაც ქეშის გვერდი რელევანტურად ითვლება. გვერდებზე, რომლებსაც ვადა გაუვიდა, ბლოგის ქეში ავტომატურად წაიშლება და ხელახლა შეიქმნება მასზე წვდომის შემდეგ.
  • ქეშის გაუქმების რეჟიმი - მიუთითებს, თუ რა შემთხვევაში უნდა წაიშალოს გვერდი ქეშიდან, მე მას ვაყენებ, როდესაც შეიცვლება ჩანაწერი.
  • გამორთეთ ქეში კომენტატორებისთვის - მომხმარებელი ტოვებს და შემდეგ ხედავს გვერდის მიმდინარე ვერსიას და არა შენახულს. იმათ. არ იქნება დაბნეულობა და დაინახავს, ​​რომ კომენტარი რეალურად გაიგზავნა - ან მოდერაციისთვის, ან ავტომატურად გამოქვეყნებული.
  • RSS ქეშირება - მე არ გავააქტიურე ეს ფუნქცია, რადგან... RSS-ში ახალი სტატიის გამოქვეყნებისას, ის შეიძლება დაგვიანებით გამოჩნდეს, რაც დამოკიდებულია დროის ამოწურვაზე და ეს არ არის კარგი, მით უმეტეს, თუ ინფორმაცია ახალი და ძალიან აქტუალურია.

მობილური კონფიგურაცია

თუ არსებობს ბლოგის მობილური ვერსია, რომელიც ოპტიმიზირებულია მობილური მოწყობილობები, შემდეგ დანამატი ამოიცნობს მოწყობილობას, საიდანაც შესვლა განხორციელდა და შეინახავს ქეშებულ გვერდს სხვა სახელით, რაც საშუალებას მოგცემთ აჩვენოთ იმავე გვერდის შენახული ასლი, რომელიც ოპტიმიზირებულია სხვადასხვა მოწყობილობებისთვის. გასააქტიურებლად დაგჭირდებათ დაინსტალირებული დანამატი WordPress მობილური პაკეტი.

მობილური ვერსია ჯერ არ შემიწუხებია, ამიტომ არსებული ელემენტების გვერდით ველები არ შევამოწმე.

შეკუმშვა

ტექსტის ოპტიმიზაცია და გადაცემა შეკუმშული ფორმით. სერვერზე თავისუფალი ადგილის შესანახად, შეგიძლიათ შეამოწმოთ შესაბამისი ველი. ისევ, ამ ფუნქციების ჩართვით, შეკუმშვა ხდება სერვერის მხარეს და, შესაბამისად, კარგავს ქეშირების შესრულებისა და ეფექტის მცირე ნაწილს.

მე არ გამომიყენებია ეს ფუნქციები, შეგიძლიათ სცადოთ, უბრალოდ გაითვალისწინეთ, რომ შეიძლება მოხდეს შეფერხებები, მაგალითად, გაიხსნება ცარიელი გვერდები.

საექსპერტო პარამეტრები

  • თარგმანი - თუ გსურთ იხილოთ Hyper Cache-ის კონფიგურაციის გვერდი თარგმანის გარეშე, ანუ ინგლისურად, მონიშნეთ ველი.
  • ბოლო მოდიფიცირებული სათაურის გამორთვა - გვერდის სათაურში მისი ბოლო მოდიფიკაციის დროის გათიშვა.
  • საწყისი გვერდის ქეშირება - მონიშნეთ ყუთი, თუ არ გსურთ, რომ მთავარი გვერდი შეინახოს ქეშში.
  • გადამისამართების ქეშირება - თუ ეს შესაძლებელია, მაშინ შეგიძლიათ დატოვოთ ეს ვარიანტი ჩართული.
  • გვერდი არ მოიძებნაქეშირება (HTTP 404) - შეინახოს თუ არა გვერდები 404 შეცდომით.
  • strip query string - ასუფთავებს URL-ს დამატებითი მოთხოვნებისგან მისამართების ზოლში. რაღაც მსგავსია.
  • URL პარამეტრებით - შეამოწმეთ, თუ არ იყენებთ CNC-ს და გვერდის მისამართები შეიცავს კითხვის ნიშანს.

ფილტრები

  • გამორიცხული URI არის გვერდების მისამართები, რომლებიც არ უნდა იყოს ქეშირებული.
  • გამორიცხული აგენტები არის მომხმარებლის აგენტები (მაგალითად, საძიებო ბოტები), რომლებისთვისაც ქეში არ არის შესრულებული და ყოველთვის ნაჩვენებია მიმდინარე ვერსიებიგვერდები.
  • Cookies Match - თუ ქუქი ფაილები ემთხვევა, ქეში შეწყვეტს შესრულებას.

ყურადღება! ცვლილებების ძალაში შესვლისთვის არ დაგავიწყდეთ დააწკაპუნოთ განახლების ღილაკზე ჩამოთვლილი პარამეტრების თითოეული ბლოკის ქვეშ.

ეს არის ძალიან მშვენიერი და რაც მთავარია - უფასო WordPress-ის ქეშირების მოდული. აღსანიშნავია, რომ რეგისტრირებული და შესული მომხმარებელი ხედავს არა გვერდის ქეშებულ ვერსიას, არამედ მიმდინარე ვერსიას, რაც ძალიან მოსახერხებელია ცვლილებების შეტანისას. უკვე იყენებ ქეშს WP-ზე?

WordPress-ში მონაცემთა ქეშირება საშუალებას გაძლევთ დააჩქაროთ თქვენი საიტი და მნიშვნელოვნად შეამციროთ დატვირთვა თქვენს სერვერზე. ბირთვში არის ქეშირების სამი ძირითადი ტიპი - გვერდის ქეშირება, ობიექტის ქეშირება და ტრანზიტული ქეშირება. ამ სტატიაში მოკლედ ვისაუბრებთ სამივე ტიპზე და ასევე გადავხედავთ რამდენიმე პოპულარულ ქეშირების დანამატს WordPress-ში.

რა არის ქეში?

ქეში არის შუალედური ბუფერი, რომელიც საშუალებას გაძლევთ შეინახოთ ყველაზე ხშირად გამოყენებული მონაცემები მეხსიერებაში ან მყარ დისკზე, რამაც შეიძლება მნიშვნელოვნად დააჩქაროს მათი გაცემის პროცესი. კარგი მაგალითები, სადაც ქეშირება სასარგებლოა, არის:

თითოეული ეს მოთხოვნა შეიძლება დაჩქარდეს ქეშირების გამოყენებით. მაგალითად, თუ ჩვენ ვაჩვენებთ ჩვენს უახლეს Twitter შეტყობინებას საიტის მთავარ გვერდზე, ჩვენ სულაც არ გვჭირდება შეკითხვა Twitter-ზე ყოველი ვიზიტის დროს. მთავარი გვერდი.

საკმარისია პირველ ვიზიტზე ერთი მოთხოვნის გაკეთება და შედეგის გარკვეული დროით შენახვა ქეშში, ხოლო როდესაც შემდეგ ეწვიეთ მთავარ გვერდს, შენახული შედეგი მეხსიერებიდან უფრო სწრაფად დავაბრუნოთ.

ქეშირება WordPress-ში

WordPress-ში ქეშირების სამი ძირითადი ტიპი არსებობს:

  • გვერდის ქეშირება - საშუალებას გაძლევთ შეინახოთ მთელი გვერდები ქეშში და მიიღოთ ისინი ქეშიდან შემდგომი მოთხოვნების შემთხვევაში.
  • ობიექტის ქეშირება - საშუალებას გაძლევთ შეინახოთ მონაცემთა თვითნებური ტიპები
  • ტრანზიტული ქეშირება - ძალიან ჰგავს ობიექტების ქეშირებას, საშუალებას გაძლევთ შეინახოთ მონაცემები გარკვეული პერიოდის განმავლობაში

ქეშირების სამივე ტიპი გადაფარავს ან ერთმანეთზეა დამოკიდებული გარკვეულ გარემოებებში. თითოეულ ტიპზე უფრო დეტალურად მოგიყვებით, დაწყებული უმარტივესი და ყველაზე გავრცელებული.

გვერდის ქეშირება WordPress-ში

WordPress-ის ერთი არქივის გვერდის შექმნას დიდი შრომა სჭირდება. ეს არის რამდენიმე მოთხოვნა მონაცემთა ბაზაში, რათა მიიღოთ უახლესი პოსტები, ვიჯეტის პარამეტრები, თემის პარამეტრები, აქტიური დანამატები, საიტის სახელი და აღწერა, ფონის სურათი, სათაური და მრავალი სხვა.

გვერდის ქეშირება საშუალებას გაძლევთ შეინახოთ მთელი გვერდის შედეგი. იმავე მისამართზე შემდგომი მოთხოვნით, იგივე გვერდი ბრუნდება, ოღონდ ქეშიდან, რაც ნიშნავს ბევრად უფრო სწრაფად და ნაკლებ დატვირთვას სერვერზე.

როდესაც ჩანაწერის ან გვერდის შინაარსი იცვლება, გვერდის ქეში აღდგება და შემდგომი მოთხოვნის შემთხვევაში ის უკვე ქეშირებულია. ახალი გვერდიგანახლებული მონაცემებით.

გვერდის ქეშირება არ არის დანერგილი თავად WordPress-ის ბირთვში, მაგრამ არსებობს ყველა საჭირო ფუნქცია ამის განსახორციელებლად მოდულის დონეზე. ორი ყველაზე პოპულარული გვერდის ქეშირების დანამატი არის WP Super Cache და W3 Total Cache, თუმცა არის სხვა.

WP Super Cache Plugin

WP Super Cache არის ყველაზე პოპულარული გვერდის ქეშირების მოდული WordPress-ში. ის საშუალებას გაძლევთ შექმნათ და მოემსახუროთ სტატიკური HTML ფაილები თქვენი გვერდებისთვის და გარკვეული კონფიგურაციით შეგიძლიათ დააყენოთ ამ გვერდების მიწოდება უშუალოდ თქვენი ვებ სერვერის საშუალებით (Apache ან nginx), PHP ფაილების დამუშავების გვერდის ავლით.

WP Super Cache მოდულის ახალ ვერსიებს აქვს რამდენიმე დამატებითი ფუნქცია, როგორიცაა CDN დაყენება, საიტის მობილური ვერსიის მხარდაჭერა და ა.შ., მაგრამ ამ მოდულის მთავარი არსი არის გვერდის ქეშირება.

WP Super Cache განკუთვნილია როგორც დამწყებთათვის, ასევე უფრო გამოცდილებისთვის WordPress-ის მომხმარებლები, მაგრამ რადგან ის იყენებს ფაილების სისტემაქეშირებისთვის, ძალიან რთული იქნება ორი ან მეტი ვებ სერვერის მქონე საიტისთვის გამოყენება.

W3 Total Cache მოდული უფრო ახალგაზრდაა ვიდრე WP Super Cache, მაგრამ არ ჩამოუვარდება მას ფუნქციონალურობით. ის ძალიან სწრაფად იძენს პოპულარობას და დღეს მას აქვს 2 მილიონზე მეტი ჩამოტვირთვა WordPress.org დირექტორიადან.

W3 Total Cache საშუალებას გაძლევთ შეინახოთ ქეშირებული გვერდები როგორც თქვენს მყარ დისკზე, ასევე მეხსიერებაში. ის არ ინახავს ქეშის სტრუქტურას, როგორც ამას აკეთებს WP Super Cache, ასე რომ თქვენ შეგიძლიათ კონფიგურაციის გარეშე გამომავალი PHP-ის გამოყენებითშეუძლებელია, მაგრამ WP Super Cache-სგან განსხვავებით, გარე მეხსიერების გამოყენება აადვილებს მუშაობას მრავალ სერვერის არქიტექტურაში.

W3 Total Cache-ს აქვს უამრავი პარამეტრი და დამატებითი ფუნქციონალობა, მათ შორის CDN მხარდაჭერა, მონაცემთა ბაზის შეკითხვის ქეშირება, სკრიპტისა და სტილის შეკუმშვა და მრავალი სხვა. ჩვენ გირჩევთ W3 Total Cache-ს უფრო გამოცდილი WordPress მომხმარებლებისთვის.

ამ სტატიის დაწერის დროს Batcache მოდული მხოლოდ დაახლოებით ათი ათასჯერ იქნა გადმოწერილი WordPress.org დირექტორიადან, მაგრამ ამ შემთხვევაში ეს არ არის მისი ეფექტურობის მაჩვენებელი. შესრულების მხრივ არც WP Super Cache-ს და არც W3 Total Cache-ს არ ჩამოუვარდება.

Batcache დანამატს აქვს მხოლოდ ერთი ფუნქცია - გვერდის ქეშირება, მაგრამ ის ამას უნაკლოდ აკეთებს. Batcache იყენებს გარე ობიექტების ქეშირებას მონაცემების შესანახად, რაც ამარტივებს მრავალ სერვერის არქიტექტურაში გამოყენებას. ამ დანამატს იყენებს მასიური WordPress.com ქსელი, 40 მილიონზე მეტი საიტით, 2000-ზე მეტი სერვერით და ყოველთვიურად 10 მილიარდზე მეტი გვერდის ნახვით.

გვერდის ქეშირების რომელ დანამატს აირჩევთ, დამოკიდებულია თქვენი საიტის ზომაზე, თქვენს შესაძლებლობებზე და WordPress-ის გამოცდილებაზე. თუ ამჟამად არ იყენებთ გვერდის ქეშირების დანამატებს, ჩვენ ყოველთვის გირჩევთ დაიწყოთ WP Super Cache-ით. თუ თქვენთვის მნიშვნელოვანია მეტი ფუნქციების და ქეშირების უფრო ზუსტი კონფიგურაციის ქონა, სცადეთ W3 Total Cache. თუ კარგად ხართ გათვითცნობიერებული პროგრამირებისა და სერვერის ადმინისტრირებაში და მზად ხართ შესწიროთ გრაფიკული ინტერფეისი დაყენებისას, სცადეთ Batcache.

ობიექტების ქეშირება WordPress-ში

ობიექტების ქეშირება ხორციელდება თავად WordPress-ის ბირთვში. ეს მექანიზმი საშუალებას გაძლევთ შეინახოთ თვითნებური ტიპის ობიექტები მეხსიერებაში და ძირითადად სასარგებლოა WordPress თემებისა და დანამატების დეველოპერებისთვის.

მაგალითად, მონაცემთა ბაზიდან ოფციის მოთხოვნისას MySQL მონაცემები get_option ფუნქციის გამოყენებით WordPress შეინახავს ამ ფუნქციის შედეგს მეხსიერებაში და შემდეგ ჯერზე მასზე წვდომისას ის დააბრუნებს შედეგს მეხსიერებიდან მონაცემთა ბაზაში შეკითხვის გარეშე.

ბირთვში მსგავსი ქეშირება ხორციელდება მრავალი ობიექტისთვის, მათ შორის: ოფციები, პოსტები (გვერდები და მორგებული ტიპები), პოსტის მეტამონაცემები, ტერმინები და ტაქსონომიები. ამიტომ WordPress-ის დეველოპერებს არ უნდა შეგეშინდეთ ისეთი ფუნქციების გამოყენება, როგორიცაა get_option და get_post, რადგან... ასეთი ზარები არ იწვევს მონაცემთა ბაზაში ზედმეტ შეკითხვებს.

WordPress-ში ობიექტების ქეშირება ხდება მრავალი შიდა ფუნქციის გამოყენებით, მათ შორის: wp_cache_add, wp_cache_set, wp_cache_get.

ობიექტების მუდმივი ქეშირება

მნიშვნელოვანია იცოდეთ, რომ ნაგულისხმევად, WordPress-ში ობიექტების ქეშირება არ არის მუდმივი. ეს ნიშნავს, რომ ქეშირებული მნიშვნელობები მოქმედებს მხოლოდ ერთი გვერდის მოთხოვნისთვის, ხოლო შემდგომი მოთხოვნები ქეშს ნულიდან წარმოქმნის.

ერთი შეხედვით ეს სულაც არ არის მომგებიანი, მაგრამ თუ დათვლით რამდენჯერ გამოიძახებს WordPress ფუნქციას get_option ერთი მოთხოვნის დასამუშავებლად (დაახლოებით 500-ჯერ), მაშინ აშკარა ხდება ობიექტების ქეშირების სარგებელი.

თუმცა, WordPress-ში ობიექტების მუდმივი ქეშირება (ან გარე ქეშირება) ადვილად განხორციელდება მესამე მხარის დანამატების გამოყენებით, როგორიცაა Memcached Object Cache ან APC Object Cache. ორივე მოდული საშუალებას გაძლევთ გამოიყენოთ ოპერატიული მეხსიერებასერვერი WordPress ობიექტების შესანახად და ობიექტები არ ქრება მოთხოვნის დასრულებისას. ეს მიდგომა მნიშვნელოვნად ამცირებს დატვირთვას MySQL მონაცემთა ბაზაზე.

აღსანიშნავია ისიც, რომ როდესაც ჩართულია გვერდის ქეშირება, ყველაზე ხშირად შენახულ ობიექტებთან მუშაობის დრო არ არის, რადგან მთელი გვერდი ამოღებულია ქეშიდან. ეს არ არის მიზეზი იმისა, რომ გამორთოთ ობიექტების ქეშირება, განსაკუთრებით სისტემაში შესულ მომხმარებლებთან მუშაობისას და ზოგიერთი დანამატი (მაგალითად, Batcache) ზოგადად იყენებს ობიექტების ქეშირებას გვერდების შესანახად.

ტრანზიტის ქეშირება WordPress-ში

მომხმარებლებისთვის, ქეშირების ეს მეთოდი სრულიად გამჭვირვალეა. ტრანზიტული ქეშირება დეველოპერებს საშუალებას აძლევს შეინახონ მონაცემები გარკვეული პერიოდის განმავლობაში. ეს მეთოდი დანერგილია WordPress-ში get_transient, set_transient და delete_transient ფუნქციების გამოყენებით.

ტრანზიტული ქეშირება ყველაზე ხშირად გამოიყენება ფრაგმენტების შესანახად, განსაკუთრებით მაშინ, როდესაც საქმე ეხება გარე რესურსების მოთხოვნებს, მაგალითად, Twitter-ის ქსელიდან შეტყობინების ჩვენებას ან ამინდის პროგნოზის ჩვენებას მესამე მხარის სერვისისგან.

მსგავსი ქეშირება ასევე გამოიყენება ბირთვში RSS არხებთან მუშაობისას და თემების, დანამატების და WordPress ბირთვების განახლების მოთხოვნისას.

ობიექტების ქეშისგან განსხვავებით, ტრანზიტული ქეშირება სტანდარტულად მუდმივია WordPress-ში და ინახავს ყველა მონაცემს მონაცემთა ბაზაში. მაგრამ მნიშვნელოვანია აღინიშნოს, რომ გარე ობიექტების ქეშირებისთვის მოდულის გამოყენებისას (მაგალითად, Memcached ან APC), ტრანზიტული ქეშირება გამოიყენებს ამ დანამატს მონაცემების შესანახად.

ობიექტების ქეშირება თუ ტრანზიტული ქეშირება?

დეველოპერებისთვის საკმაოდ მარტივია არჩევანის გაკეთება ორ მეთოდს შორის. თუ შედეგის შენახვა გვჭირდება გარკვეული პერიოდის განმავლობაში და ერთზე მეტი მოთხოვნისთვის, უმჯობესია გამოვიყენოთ ტრანზიტული ქეშირება. თუ ჩვენ გვჭირდება პატარა ობიექტის მეხსიერებაში შენახვა მხოლოდ მიმდინარე მოთხოვნისთვის, ობიექტის ქეშირება ჩვენთვის შესაფერისია. თუ რაიმეს შენახვა გჭირდებათ განუსაზღვრელი ვადით, უმარტივესი გზაა ოფციების გამოყენება - მაშინ არის გარანტია, რომ მნიშვნელობა დასრულდება მონაცემთა ბაზაში.

მოდულის გამოყენებისას ობიექტების მუდმივი ქეშირებისთვის, სამივე მეთოდი გამოიყენებს დანამატს.

დასკვნა

ქეშირება მნიშვნელოვან როლს ასრულებს საიტების მუშაობის და სიჩქარის გაზრდაში, ასევე მათ ოპტიმიზაციაში მაღალი დატვირთვისთვის. უმეტეს შემთხვევაში, დაბალი ტრაფიკის მქონე საიტებისთვის ეს არც ისე მნიშვნელოვანია, თუმცა ყოველთვის სასიამოვნოა, როცა საიტი უფრო სწრაფად იხსნება.

საიტების უმეტესობისთვის, გვერდის მარტივი ქეშირება წყვეტს სიჩქარისა და დატვირთვის ყველა პრობლემას. ეს არის პირველი, რაც უნდა გააკეთოთ, თუ პრობლემები წარმოიქმნება, განსაკუთრებით იაფი ჰოსტინგის პლატფორმებზე. გვერდის ქეშირების დანამატები მარტივი ინსტალაცია და კონფიგურაციაა.

ობიექტების ქეშირება და ტრანზიტული ქეშირება საკმაოდ გამჭვირვალეა WordPress-ის მომხმარებლებისთვის, მაგრამ მნიშვნელოვანია, რომ დეველოპერებმა კარგად იცოდნენ და განასხვავონ ეს ორი მექანიზმი. გარე ობიექტების ქეშირების დანამატები ხშირად მოითხოვს უფრო მეტ ძალისხმევას კონფიგურაციისთვის, ვიდრე გვერდის ქეშირება.

და ბოლოს, გახსოვდეთ, რომ ქეშირება თქვენი საიტის სიჩქარის გაუმჯობესების მხოლოდ ერთი გზაა. თუ სიჩქარე თქვენთვის მნიშვნელოვანია, არ დაივიწყოთ გამოსახულების ოპტიმიზაცია, სკრიპტისა და სტილის შეკუმშვა, შეკითხვისა და მონაცემთა ბაზის ოპტიმიზაცია, CDN სერვერების გამოყენება და დატვირთვის დაბალანსება.

თუ თქვენ გაქვთ რაიმე შეკითხვა WordPress-ში ქეშირების შესახებ ან რაიმე ქეშირების მოდულის დაყენების პრობლემა, გთხოვთ დატოვოთ კომენტარი და მოხარული ვიქნებით დაგეხმაროთ.

02.07.2013 05.11.2013

WP Magazine-ისა და პირველი WordCamp კონფერენციის თანადამფუძნებელი რუსეთში. დეველოპერი Automattic-ში, აქტიურ მონაწილეობას იღებს WordPress-ის ბირთვის შემუშავებაში. საყვარელი პროგრამირების ენა: Python.