ใช้ Memcached เพื่อลดการโหลดฐานข้อมูลบนเว็บไซต์ WordPress
เผยแพร่แล้ว: 2018-11-30
Memcached เป็นหนึ่งในกลไกการแคชที่อยู่บนเซิร์ฟเวอร์โฮสต์ของคุณ ส่วนใหญ่เกี่ยวข้องกับการสืบค้นฐานข้อมูลที่ช่วยในการลดการโหลดฐานข้อมูลส่งผลให้หน้าเว็บโหลดเร็ว หากเว็บไซต์/ร้านค้าของคุณอาศัยการสืบค้นฐานข้อมูลเป็นอย่างมาก การใช้เว็บไซต์ Memcached สำหรับ WordPress จะช่วยปรับปรุงประสิทธิภาพการทำงานและลดเวลาในการโหลดหน้าเว็บได้อย่างมาก
ยักษ์ใหญ่อินเทอร์เน็ตเช่น YouTube, Reddit, Facebook, Twitter และ Wikipedia ใช้ Memcached เพื่อเพิ่มเวลาในการโหลดหน้า Google App Engine, Microsoft Azure, IBM Bluemix และ Amazon Web Services ยังให้บริการ Memcached ผ่าน API
เมื่อพิจารณาถึงความสำคัญในการเพิ่มเวลาในการโหลดหน้าเว็บ เรา (Cloudways) เสนอ Memcached ที่ติดตั้งไว้ล่วงหน้าบนเซิร์ฟเวอร์คลาวด์ WordPress ที่มีการจัดการของเรา อย่างไรก็ตาม บางครั้งคุณอาจต้องกำหนดค่าแอปพลิเคชันของคุณ (WordPress) เพื่อใช้ประโยชน์จาก Memcached อย่างเต็มที่
สารบัญ
- Memcached คืออะไร?
- Memcached ใช้สำหรับอะไร?
- Memcached ทำงานอย่างไร
- วิธีการใช้ Memcached?
- การติดตั้ง Memcached บนเซิร์ฟเวอร์
- ตรวจสอบว่า Memcached กำลังทำงานอยู่หรือไม่
- Memcached สำหรับผู้ใช้ Cloudways
- WordPress Memcached Plugin
- ความคิดสุดท้าย
Memcached คืออะไร?
ตามเว็บไซต์ Memcached อย่างเป็นทางการ Memcached คือ:
“ระบบแคชออบเจ็กต์หน่วยความจำแบบกระจายฟรีและโอเพ่นซอร์ส ประสิทธิภาพสูง มีลักษณะทั่วไป แต่มีจุดประสงค์เพื่อใช้ในการเร่งความเร็วเว็บแอปพลิเคชันแบบไดนามิกโดยบรรเทาการโหลดฐานข้อมูล
Memcached เป็นที่เก็บคีย์-ค่าในหน่วยความจำสำหรับข้อมูลส่วนเล็กๆ (สตริง ออบเจ็กต์) จากผลลัพธ์ของการเรียกฐานข้อมูล การเรียก API หรือการแสดงหน้าเว็บ”
พูดง่ายๆ ก็คือ Memcached เป็นระบบแคชวัตถุชั่วคราวแบบกระจายที่เก็บสตริงและอ็อบเจ็กต์ใน RAM ของเซิร์ฟเวอร์ซึ่งเป็นผลมาจากการประมวลผลการสืบค้นฐานข้อมูล การเรียก API หรือการแสดงหน้า เซิร์ฟเวอร์ที่ใช้สำหรับกลไกนี้สามารถเรียกได้ว่าเป็นเซิร์ฟเวอร์ Memcached
Memcached ใช้สำหรับอะไร?
Memcached ใช้สำหรับเร่งความเร็วเว็บแอปพลิเคชันแบบไดนามิก เช่น ร้านค้าอีคอมเมิร์ซ เว็บไซต์ลงทะเบียน/เข้าสู่ระบบ ฯลฯ โดยลดภาระของฐานข้อมูล มันเก็บผลลัพธ์ที่ประมวลผลแล้ว ดังนั้นเมื่อใดก็ตามที่ผู้เยี่ยมชมร้องขอคำถามเดิมอีกครั้ง Memcached สามารถตอบกลับสิ่งนั้นแทนที่จะประมวลผลการสืบค้นและตอบกลับ การรักษาเซิร์ฟเวอร์ให้ยุ่งน้อยลง ผู้เยี่ยมชมของคุณจะได้รับประสบการณ์การโหลดที่เร็วขึ้นและประสบการณ์การใช้งานที่ดีขึ้น
มีเรื่องราวในโลกแห่งความเป็นจริงที่น่าสนใจและตลกที่ GitHub ให้อ่านเพื่อทำความเข้าใจกรณีการใช้งานทั่วไปของ Memcached
โฮสติ้ง WordPress ปัจจุบันของคุณมีประสิทธิภาพต่ำหรือไม่?
โยกย้ายไปยัง Cloudways และเพิ่มประสิทธิภาพของ WordPress ของคุณ
Memcached ทำงานอย่างไร
ทุกครั้งที่ผู้เยี่ยมชม/เบราว์เซอร์ร้องขอเซิร์ฟเวอร์ที่ต้องใช้ฐานข้อมูลเพื่อประมวลผลและตอบสนอง เซิร์ฟเวอร์จะเพิ่มภาระงานให้กับเซิร์ฟเวอร์ Memcached ลดการโหลดนั้นโดยการจัดเก็บอ็อบเจ็กต์ข้อมูลในหน่วยความจำไดนามิกชั่วคราว มันบันทึกข้อมูลในคีย์-ค่าและตรวจสอบหน่วยความจำก่อนที่จะส่งคำขอของเบราว์เซอร์ไปยังฐานข้อมูล หากมีแคช แคชจะตอบกลับคำขอโดยไม่ต้องให้ฐานข้อมูลดำเนินการ
ตามที่กล่าวไว้ข้างต้น Memcached เป็นระบบแคชวัตถุหน่วยความจำแบบกระจายที่ประกอบด้วยสี่องค์ประกอบหลัก:
- ซอฟต์แวร์ไคลเอ็นต์: รับรายการเซิร์ฟเวอร์ Memcached ที่พร้อมใช้งานแบบกระจาย
- อัลกอริทึมการแฮชตามไคลเอ็นต์: เลือกเซิร์ฟเวอร์ตามคีย์-ค่า
- ซอฟต์แวร์เซิร์ฟเวอร์: จัด เก็บข้อมูล (ค่า) และคีย์ลงในตารางแฮชภายใน
- อัลกอริทึมของเซิร์ฟเวอร์: ระบุเวลาที่จะลบข้อมูลเก่าและนำหน่วยความจำกลับมาใช้ใหม่
ส่วนประกอบข้างต้นทำให้ Memcached สามารถจัดเก็บและดึงข้อมูลได้ แต่ละรายการประกอบด้วย:
- กุญแจ
- เวลาหมดอายุ
- ข้อมูลดิบ
เมื่อมีการร้องขอรายการ Memcached จะตรวจสอบเวลาหมดอายุเพื่อดูว่ารายการนั้นยังใช้ได้อยู่หรือไม่ก่อนที่จะตอบกลับคำขอ หากไม่มีแคช แคชจะส่งคำขอไปยังฐานข้อมูลเพื่อประมวลผลและจัดเก็บผลลัพธ์เป็นรายการ
หากเซิร์ฟเวอร์ไม่มีหน่วยความจำ เซิร์ฟเวอร์จะค้นหาและแทนที่รายการที่หมดอายุ หากยังคงต้องการข้อมูลใด ๆ ระบบจะค้นหารายการที่ไม่ได้ขอในช่วงเวลาหนึ่ง ด้วยเหตุนี้ Memcached จะเก็บข้อมูลที่ร้องขอล่าสุดไว้ในหน่วยความจำแบบไดนามิก
ที่ Memcached ระดับสูงทำงานดังนี้:
- Memcached ตรวจสอบข้อมูลที่ร้องขอหากเก็บไว้ในแคช
- สองเอาต์พุตที่เป็นไปได้:
– ข้อมูลถูกเก็บไว้ในแคช: ส่งคืนข้อมูลที่ร้องขอจาก Memcached โดยไม่ขัดจังหวะฐานข้อมูล
– ข้อมูลไม่ถูกจัดเก็บในแคช: ดำเนินการค้นหาที่ร้องขอ ประมวลผลและดึงข้อมูล และบันทึกผลลัพธ์ในหน่วยความจำ - เมื่อใดก็ตามที่มีการอัปเดตในรายการหรือรายการหมดอายุ Memcached จะอัปเดตแคชและทำให้แน่ใจว่าเนื้อหาใหม่ถูกส่งไปยังไคลเอนต์ที่ร้องขอ
วิธีการใช้ Memcached?
มีสองขั้นตอนที่เกี่ยวข้องในการใช้ Memcached ขั้นแรก ต้องติดตั้งบนเซิร์ฟเวอร์โฮสต์ของคุณ จากนั้นแอปพลิเคชันของคุณควรสามารถรองรับ Memcached ได้
กระบวนการติดตั้งและกำหนดค่าได้อธิบายไว้ด้านล่าง:
ติดตั้ง Memcached บนเซิร์ฟเวอร์
Memcached ไม่ต้องการทรัพยากร CPU จำนวนมาก มันขึ้นอยู่กับ RAM ล้วนๆ หากคุณมีเว็บเซิร์ฟเวอร์ RAM ขนาด 8GB แต่ระบบปฏิบัติการและเว็บไซต์ของคุณใช้พื้นที่เพียง 4GB คุณควรกำหนด RAM ที่เหลือให้กับอินสแตนซ์ Memcached เพื่อเพิ่มความจุในการจัดเก็บข้อมูล อ่านข้อกำหนดทางเทคนิคทั้งหมด ที่นี่
Memcached ทำงานบนเซิร์ฟเวอร์ที่ใช้ Linux ส่วนใหญ่ การติดตั้ง Memcached อยู่ ห่างออกไป เพียงสอง คำสั่ง Linux โดยทั่วไป คุณควรติดตั้ง Memcached จากแพ็คเกจที่ระบบปฏิบัติการของคุณให้มา (Debian, Ubuntu ฯลฯ) ระบบปฏิบัติการจะแก้ปัญหาการพึ่งพาสำหรับคุณและดูแลการอัปเดตความปลอดภัย
สำหรับผู้ใช้ Debian หรือ Ubuntu:
คำสั่ง: apt-get install memcached
สำหรับ Redhat/Fedora:
คำสั่ง: yum ติดตั้ง memcached
สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบของระบบปฏิบัติการที่เกี่ยวข้องของคุณ เป็นมูลค่าการกล่าวขวัญว่า Nginx ซึ่งเป็นหนึ่งในเซิร์ฟเวอร์ reverse-proxy ที่ได้รับความนิยมมากที่สุดนั้นมาพร้อมกับโมดูล Memcached ที่บรรจุไว้ล่วงหน้าซึ่งมอบโซลูชันแบบบันเดิล Nginx Memcached ที่ยืดหยุ่นที่สุด


IdeaBox – กรณีศึกษา
อ่านว่า Cloudways ช่วยให้หน่วยงาน WordPress สร้างผลิตภัณฑ์ที่ดีขึ้นได้อย่างไร
ขอบคุณ
Ebook ของคุณกำลังมาถึงกล่องจดหมายของคุณ
ตรวจสอบว่า Memcached กำลังทำงานอยู่หรือไม่
มีหลายวิธีในการทดสอบว่า Memcached กำลังทำงานอยู่หรือไม่ หนึ่งในนั้นใช้ Telnet ลงชื่อเข้าใช้เทอร์มินัล SSH ของเซิร์ฟเวอร์และเขียนคำสั่งด้านล่าง:
telnet localhost 11211
หรือ
telnet 127.0.0.1 11211
PS: คำสั่งดังกล่าวจะทำงานหากเซิร์ฟเวอร์ภายในเครื่องเป็นเซิร์ฟเวอร์ Memcached ของคุณ
หากคำสั่งดังกล่าวทำงานสำเร็จ คุณจะได้รับผลลัพธ์ด้านล่าง:
เชื่อมต่อกับ localhost อักขระ Escape คือ '^]'
มิฉะนั้น คุณจะได้รับ ข้อผิดพลาดในการเชื่อมต่อ
ในการตรวจสอบสถิติพื้นฐาน คุณสามารถใช้คำสั่งด้านล่าง: stats
คุณจะได้รับสิ่งที่ชอบด้านล่าง:
STAT pid 313 เวลาทำงานของ STAT 2778636 เวลาสถิติ 1535727399 STAT เวอร์ชัน 1.4.21 STAT libevent 2.0.21-เสถียร สถิติตัวชี้_ขนาด 64 สถิติ rusage_user 47.119322 สถิติ rusage_system 48.765342 สถิติ curr_connections 1 สถิติทั้งหมด_การเชื่อมต่อ 151198 การเชื่อมต่อ STAT_structures 3 สถิติที่สงวนไว้_fds 20 สถิติ cmd_get 46 สถิติ cmd_set 4 สถิติ cmd_flush 0 สถิติ cmd_touch 0 สถิติ get_hits 30 สถิติ get_misses 16 สถิติ delete_misses 0 สถิติ delete_hits 0 สถิติ incr_misses 0 สถิติ incr_hits 0 สถิติ Decr_misses 0 สถิติ Decr_hits 0 สถิติ cas_misses 0 สถิติ cas_hits 0 สถิติ cas_badval 0 สถิติ touch_hits 0 สถิติ touch_misses 0 สถิติ auth_cmds 0 สถิติ auth_errors 0 สถิติไบต์_อ่าน 22942 STAT ไบต์_เขียน 3433252 สถิติ จำกัด_maxbytes 268435456 สถิติที่ยอมรับ_conns 1 สถิติ listen_disabled_num 0 STAT กระทู้4 สถิติ conn_yields 0 สถิติ hash_power_level 16 สถิติ hash_bytes 524288 สถิติ hash_is_expanding 0 สถิติ malloc_fails 0 สถิติไบต์106 สถิติ curr_items 1 สถิติ total_items 4 STAT หมดอายุ_unfetched 0 สถิติ evicted_unfetched 0 การขับไล่ของ STAT 0 STAT เรียกคืน 0 โปรแกรมรวบรวมข้อมูล STAT_reclaimed 0 สถิติ lrutail_reflocked 0
ในการตรวจสอบรายการให้ใช้: รายการสถิติ
ผลลัพธ์:
รายการสถิติ:2:จำนวน 1 รายการสถิติ:2:อายุ 2486 รายการสถิติ:2:ขับไล่ 0 รายการสถิติ:2:evicted_nonzero 0 รายการสถิติ:2:evicted_time 0 รายการสถิติ:2:หน่วยความจำหมด 0 รายการสถิติ:2:tailrepairs 0 รายการสถิติ:2:เรียกคืน 0 รายการสถิติ:2:หมดอายุ_unfetched 0 รายการสถิติ:2:evicted_unfetched 0 รายการสถิติ:2:crawler_reclaimed 0 รายการสถิติ:2:lrutail_reflocked 0
ในการตรวจสอบสถิติหน่วยความจำปัจจุบันเขียน: stats slabs
ผลลัพธ์:
สถิติ 2:chunk_size 120 STAT 2:chunks_per_page 8738 สถิติ 2:total_pages 1 สถิติ 2:total_chunks 8738 สถิติ 2:used_chunks 1 สถิติ 2:free_chunks 8737 สถิติ 2:free_chunks_end 0 สถิติ 2:mem_requested 106 สถิติ 2:get_hits 30 สถิติ 2:cmd_set 4 สถิติ 2:delete_hits 0 สถิติ 2:incr_hits 0 สถิติ 2: Decr_hits 0 สถิติ 2:cas_hits 0 สถิติ 2:cas_badval 0 สถิติ 2: touch_hits 0 สถิติ active_slabs 1 สถิติทั้งหมด_malloced 1048560
หากต้องการออกจากการเชื่อมต่อ ให้พิมพ์ quit และกด Enter
มีรายการคำสั่งที่มีประโยชน์ในการรันและตรวจสอบเซิร์ฟเวอร์ Memcached
Memcached Tutorial สำหรับแพลตฟอร์มอื่นๆ:
- วิธีตั้งค่า Memcached บน Magento Store
- วิธีตั้งค่า Memcached บน PHP
- วิธีตั้งค่า Memcached บน Joomla
- วิธีการตั้งค่า Memcached ด้วย Yii 2
- วิธีตั้งค่า PrestaShop ด้วย Memcached
- วิธีตั้งค่า Memcache บนไซต์ Drupal 7 ของคุณ
Memcached สำหรับผู้ใช้ Cloudways
ผู้ใช้ Cloudways ไม่ต้องกังวลเกี่ยวกับเทคนิคทั้งหมดที่เกี่ยวข้องกับ WordPress Memcached เซิร์ฟเวอร์ทั้งหมดที่เปิดตัวบนแพลตฟอร์ม Cloudways ได้รับการติดตั้งและเปิดใช้งาน Memcached ล่วงหน้า
ไปที่ เซิร์ฟเวอร์ ของคุณ → จัดการบริการ และคุณจะเห็นว่า Memcached ได้ รับการติดตั้งและเปิดใช้งานไว้ล่วงหน้าโดยค่าเริ่มต้น

ไม่ใช่ลูกค้า Cloudways แต่ต้องการใช้ประโยชน์จาก Memcached ใช่ไหม ทดลองใช้งานฟรีโดยไม่ต้องให้รายละเอียดบัตรเครดิตของคุณ
WordPress Memcached Plugin
มีปลั๊กอินแคชของ WordPress มากมาย ในตลาด ส่วนใหญ่รองรับ Memcached เช่น W3TC หนึ่งในปลั๊กอินแคชที่ใช้กันอย่างแพร่หลายมากที่สุดช่วยให้คุณสามารถกำหนดค่า Memcached หากคุณเป็นหนึ่งในผู้ใช้ W3TC ให้ไปที่ แท็บ การตั้งค่าทั่วไป และเลือก Memcached จากดรอปดาวน์ที่ระบุว่า:
- แคชหน้า
- ลดขนาดแคช
- แคชฐานข้อมูล

บันทึกการตั้งค่าทั้งหมดและอย่าลืมล้างแคชเพียงครั้งเดียว
ความคิดสุดท้าย
Memcached ถือเป็นวิธีหนึ่งในการเร่งความเร็วไซต์ WordPress ที่ได้รับ การกำหนดค่าอย่างเหมาะสม เนื่องจากช่วยลดการโหลดฐานข้อมูล และทำให้เซิร์ฟเวอร์ไม่ว่าง ส่งผลให้ประสิทธิภาพและเวลาในการโหลดหน้าเว็บดีขึ้น
