วิธีเพิ่มประสิทธิภาพ OPcache ใน HestiaCP? การแคช Opcode และการคอมไพล์โค้ด PHP สามารถเพิ่มความเร็วของเว็บไซต์ได้อย่างมาก

ความเร็วคือชีวิต หากเว็บไซต์ช้าไปแม้เพียงเสี้ยววินาที ผู้ใช้ก็จะหันหลังกลับและออกจากเว็บไซต์ไป

这就是为什么在 เฮสเทียซีพี การเพิ่มประสิทธิภาพ OPcache เป็นสิ่งสำคัญอย่างยิ่งต่อความสำเร็จหรือความล้มเหลวของเว็บไซต์ใดๆ ที่ใช้ PHP

OPcache คืออะไร?

OPcache เป็นกลไกการแคชไบต์โค้ดในตัวของ PHP

หน้าที่ของมันนั้นง่ายมาก คือ แคชสคริปต์ PHP ที่คอมไพล์แล้วไว้ในหน่วยความจำ และเรียกใช้แคชโดยตรงเมื่อต้องการเข้าถึงอีกครั้ง แทนที่จะคอมไพล์ใหม่

วิธีนี้ช่วยเพิ่มความเร็วในการตอบสนองของเว็บไซต์ ลดภาระการทำงานของ CPU และลดภาระของเซิร์ฟเวอร์ได้ทันที

ตามเอกสารอย่างเป็นทางการของ PHP:

"OPcache ช่วยเพิ่มประสิทธิภาพการทำงานได้อย่างมาก โดยลดเวลาในการประมวลผลด้วยการหลีกเลี่ยงการคอมไพล์สคริปต์ซ้ำซ้อน"

โดยสรุป: OPcache คือตัวเร่งความเร็ว PHP

เหตุใดจึงควรปรับแต่ง OPcache ใน HestiaCP?

วิธีเพิ่มประสิทธิภาพ OPcache ใน HestiaCP? การแคช Opcode และการคอมไพล์โค้ด PHP สามารถเพิ่มความเร็วของเว็บไซต์ได้อย่างมาก

HestiaCP เป็นแผงควบคุมขนาดเล็กที่ผู้คนจำนวนมากใช้ในการจัดการ VPS หรือเซิร์ฟเวอร์เฉพาะ

OPcache เปิดใช้งานโดยค่าเริ่มต้น แต่ค่าพารามิเตอร์มักจะค่อนข้างระมัดระวัง

หากไม่มีการปรับเปลี่ยน การปรับปรุงประสิทธิภาพก็จะจำกัดอยู่เพียงระดับหนึ่ง

ตัวอย่างเช่น:
บนเซิร์ฟเวอร์ที่มี 4 คอร์และหน่วยความจำ 8GB หน่วยความจำ OPcache เริ่มต้นมีเพียง 64MB และจำนวนไฟล์ที่แคชได้มีเพียง 4000 ไฟล์
นี่สำหรับขนาดกลาง WordPress สำหรับเว็บไซต์แล้ว แค่นั้นไม่เพียงพออย่างแน่นอน

ผลที่ตามมาคือแคชจะถูกล้างอยู่ตลอดเวลา ทำให้ประสิทธิภาพการทำงานผันผวนซ้ำไปซ้ำมา

ตรวจสอบสถานะ OPcache ปัจจุบัน

รันคำสั่งต่อไปนี้:

php -i | grep opcache.enable

คุณจะเห็นผลลัพธ์ที่คล้ายกับ:

  • opcache.enable => On: หมายความว่า OPcache ถูกเปิดใช้งานใน PHP-FPM แล้ว
  • opcache.enable_cli => ปิด: ไม่ได้เปิดใช้งานในโหมดบรรทัดคำสั่ง
  • opcache.enable_file_override => ปิด: ฟังก์ชันการแทนที่ไฟล์ไม่ได้เปิดใช้งาน

นั่นหมายความว่าถึงแม้ OPcache จะใช้งานได้แล้ว แต่ก็ยังมีโอกาสที่จะปรับปรุงให้ดียิ่งขึ้นได้อีก

แก้ไขไฟล์การกำหนดค่า PHP

ใน HestiaCP เส้นทางของไฟล์การกำหนดค่า PHP มักจะเป็น:

/etc/php/8.x/fpm/php.ini

เพื่อเปิดใช้งานโหมด CLI:

/etc/php/8.x/cli/php.ini

ค้นหาส่วน [opcache] และเพิ่มหรือแก้ไขพารามิเตอร์ต่อไปนี้:

[opcache]
; 启用 OPcache
opcache.enable=1
opcache.enable_cli=1

; 内存与缓存设置
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000

; 文件更新检测
opcache.validate_timestamps=0
opcache.revalidate_freq=60

; 其他优化参数
opcache.save_comments=1
opcache.fast_shutdown=1
opcache.enable_file_override=1

รายละเอียดพารามิเตอร์และตรรกะการปรับให้เหมาะสม

  • การใช้หน่วยความจำของ opcache = 256
    การจัดสรรหน่วยความจำ 256MB ให้กับ OPcache นั้นเหมาะสมสำหรับเว็บไซต์ขนาดกลางถึงขนาดใหญ่
    สำหรับเว็บไซต์ขนาดเล็ก คุณสามารถตั้งค่าเป็น 128MB ได้

  • opcache.interned_strings_buffer=16
    มีแคชสตริงขนาด 16MB เพื่อลดการใช้สตริงซ้ำซ้อน

  • opcache.max_accelerated_files=10000
    ในสภาพแวดล้อม WordPress ที่มีปลั๊กอินเพิ่มเติม แนะนำให้ตั้งค่าจำนวนไฟล์แคชสูงสุดอย่างน้อย 10000 ไฟล์

  • opcache.revalidate_freq=60
    ระบบจะตรวจสอบไฟล์เพื่อหาการอัปเดตทุกๆ 60 วินาที เพื่อลดการอ่าน/เขียนไฟล์ที่เกิดขึ้นบ่อยครั้ง

  • opcache.enable_cli=1
    การเปิดใช้งานการแคช CLI เหมาะสำหรับการใช้งานเครื่องมือบรรทัดคำสั่ง เช่น Artisan และ WP-CLI

  • opcache.enable_file_override=1
    อนุญาตให้ OPcache เข้ามาควบคุมแคชของระบบไฟล์ ซึ่งจะช่วยลดการเข้าถึงดิสก์ลงได้อีก

  • opcache.validate_timestamps=0
  • ปิดใช้งานการตรวจจับแบบเรียลไทม์ลดปริมาณการอ่านเขียนไฟล์และเพิ่มประสิทธิภาพการทำงาน
  • อย่างไรก็ตาม นั่นหมายความว่าคุณต้องล้างแคชด้วยตนเอง (รีสตาร์ทบริการ PHP) หลังจากแก้ไขไฟล์ PHP เสร็จแล้ว

หลังจากแก้ไขการตั้งค่าแล้ว คุณต้องรีสตาร์ทบริการ PHP เพื่อให้การเปลี่ยนแปลงมีผล

sudo systemctl restart php<版本>-fpm

การผสมผสานพารามิเตอร์เหล่านี้ทำให้เว็บไซต์มีความเสถียรแม้ในสภาวะที่มีผู้ใช้งานจำนวนมากพร้อมกัน

รีสตาร์ทบริการ PHP-FPM

หลังจากทำการเปลี่ยนแปลงแล้ว อย่าลืมรีสตาร์ทบริการ:

sudo systemctl restart php8.x-fpm

จากนั้นลองรันอีกครั้ง:

php -i | grep opcache

พารามิเตอร์ต่างๆ ได้รับการยืนยันว่ามีการอัปเดตแล้ว

แนวปฏิบัติที่ดีที่สุดในสภาพแวดล้อมการผลิต

ในสภาพแวดล้อมการใช้งานจริง การเพิ่มประสิทธิภาพ OPcache ไม่ได้เกี่ยวข้องแค่เพียงการปรับพารามิเตอร์เท่านั้น แต่ยังรวมถึงกลยุทธ์ต่อไปนี้ด้วย:

1. ล้างแคชระหว่างการติดตั้งใช้งาน

หลังจากอัปเดตโค้ดทุกครั้ง จะต้องล้าง OPcache มิเช่นนั้นอาจจะโหลดเวอร์ชันเก่าขึ้นมาแทน

คุณสามารถเพิ่มข้อความต่อไปนี้ลงในสคริปต์ CI/CD ได้:

<?php
opcache_reset();

หรืออีกทางเลือกหนึ่งคือ เรียกใช้คำสั่งนี้ภายในกระบวนการติดตั้ง:

systemctl reload php8.x-fpm

2. หลีกเลี่ยงการทำความสะอาดบ่อยเกินไป

การล้างแคชบ่อยเกินไปอาจทำให้ประสิทธิภาพการทำงานลดลง
แนะนำให้ล้างข้อมูลเฉพาะเมื่อมีการอัปเดตโค้ดเท่านั้น แทนที่จะล้างข้อมูลเป็นประจำ

3. ตรวจสอบการใช้งาน OPcache

คุณสามารถตรวจสอบอัตราการเข้าถึงแคชแบบเรียลไทม์ได้โดยใช้คำสั่ง `php -i | grep opcache` หรือโดยการติดตั้งปลั๊กอิน Opcache Control Panel
อัตราความถูกต้องมากกว่า 95% บ่งชี้ว่าการตั้งค่ามีความเหมาะสม

จากผลการทดสอบประสิทธิภาพอย่างเป็นทางการของ Zend พบว่า การเปิดใช้งาน OPcache สามารถเพิ่มความเร็วในการประมวลผลสคริปต์ PHP ได้สูงสุดถึง 3 เท่า และลดการใช้งาน CPU ลงได้ 50%

นี่ไม่ใช่ทฤษฎีลึกลับอะไรหรอก มันเป็นข้อมูลที่พิสูจน์ได้

สรุป: มุมมองและคำคมสำคัญของผม

ในความคิดของผม OPcache เปรียบเสมือน "เทอร์โบชาร์จเจอร์" สำหรับเว็บไซต์ หากไม่มีมัน PHP ก็เหมือนรถยนต์ที่ไม่มีเทอร์โบชาร์จเจอร์ วิ่งช้าและสิ้นเปลืองน้ำมัน

การเพิ่มประสิทธิภาพ OPcache ไม่ใช่แค่รายละเอียดทางเทคนิค แต่ยังเป็นทางเลือกเชิงกลยุทธ์สำหรับการดำเนินงานของเว็บไซต์อีกด้วย

เพราะความเร็วเท่ากับอัตราการเปลี่ยนลูกค้าเป้าหมายเป็นลูกค้าจริง และประสิทธิภาพเท่ากับความสามารถในการแข่งขัน

คำคมสำคัญ: อนาคตของเว็บไซต์ไม่ได้อยู่ที่ว่าโค้ดนั้นซับซ้อนแค่ไหน แต่ขึ้นอยู่กับว่ามันสามารถตอบสนองได้อย่างรวดเร็วเพียงใด จนผู้ใช้ไม่มีเวลาแม้แต่จะกระพริบตา

ดังนั้น จงหยุดปล่อยให้เซิร์ฟเวอร์สิ้นเปลืองทรัพยากรในลูปที่ไม่เกิดประสิทธิภาพ

ปรับแต่ง HestiaCP OPcache ของคุณให้เหมาะสมตอนนี้ แล้วเว็บไซต์ของคุณจะทำงานได้เร็วขึ้น

คุณต้องการให้ฉันเขียนเทมเพลตการตั้งค่า OPcache ที่ดีที่สุดสำหรับสภาพแวดล้อมการใช้งานจริงของคุณ ซึ่งคุณสามารถคัดลอกและนำไปใช้ในไฟล์ php.ini ได้โดยตรงหรือไม่?

หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ บทความเรื่อง "วิธีเพิ่มประสิทธิภาพ OPcache ใน HestiaCP? การแคช Opcode และการคอมไพล์โค้ด PHP เพื่อให้เว็บไซต์ของคุณทำงานได้เร็วขึ้น" ที่แชร์ไว้ที่นี่ อาจเป็นประโยชน์สำหรับคุณ

ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-34197.html

หากต้องการปลดล็อคเคล็ดลับที่ซ่อนอยู่เพิ่มเติม ยินดีต้อนรับเข้าร่วมช่อง Telegram ของเรา!

แชร์และกดไลค์ถ้าคุณชอบ! การแชร์และการถูกใจของคุณคือแรงบันดาลใจอย่างต่อเนื่องของเรา!

 

发表评论

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ 必填项已用 * 标注

ไดเรกทอรีบทความ
เลื่อนไปที่ด้านบน