Tối ưu website PHP 7.x với OPcache – Useful Extension

OPcache là một công nghệ caching được tích hợp sẵn bên trong PHP. Khi được bật lên, OPcode Cache sẽ tăng hiệu suất PHP bằng cách lưu trữ lại các bytecode đã được biên dịch trước vào RAM (shared memory). Với cách này, hệ thống sẽ giảm được việc phải biên dịch lại PHP mỗi lần có lượt truy cập mới.

OPcache-PHP-7.2-3

1. Hướng dẫn cài đặt

a. Trên hệ điều hành CentOS 7

Đối với hệ điều hành CentOS cần cài đặt EPEL repositoryREMI repository trước.

yum update && yum install epel-release
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Tiếp theo, cần cài đặt yum-utils – tập hợp các tiện ích mở rộng của yum.

yum install yum-utils

Sau khi cài đặt yum-utils, tiếp tục bật REMI repository làm repository mặc định. Trong bài viết này chúng tôi sẽ ví dụ với phiên bản PHP 7.2, trong trường hợp Quý khách cần cài đặt cho phiên bản PHP khác, Quý khách có thể thay 2 số cuối trong lệnh bên dưới thành phiên bản phù hợp. Ví dụ PHP 5.6 sẽ là php56, PHP 7.0 sẽ là php70.

yum-config-manager --enable remi-php72

Và cuối cùng là cài đặt OPcache extension cho PHP.

yum install php-opcache

Để kiểm tra đã được cài đặt thành công hay chưa, Quý khách có thể dùng lệnh php -v để kiểm tra. Nếu đã thấy hiển thị lên như phần khoanh đỏ trong hình tức là đã cài đặt thành công.

OPcache-PHP-7.2-1

Hoặc Quý khách có thể kiểm tra thông qua PHP Info, nếu thấy Up và Running tức là website của Quý khách đã được bật cache.

OPcache-PHP-7.2-2

b. Cài đặt OPcache trên server / VPS chạy DirectAdmin

Đối với server hoặc VPS chạy DirectAdmin, Quý khách có thể cài đặt bằng custombuild dễ dàng với vài câu lệnh sau thông qua kết nối SSH bằng quyền root:

cd /usr/local/directadmin/custombuild
./build set opcache yes
./build opcache

2. Tối ưu cấu hình cache

Sau khi cài đặt hoàn tất, cần bật cache trong PHP ini bằng cách bỏ dấu comment (;) trước các dòng sau:

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1
opcache.revalidate_freq=180

Chỉ cấu hình thông số đơn giản như vậy là website đã được cải thiện tốc độ đáng kể. Tuy nhiên Quý khách cũng cần lưu ý thêm các thông số trên để setup cho phù hợp với server của mình.

OPcache-PHP-7.2-4

3. Giải thích tham số

  • .enable: Nếu đặt tham số này là 1 tức là sẽ bật cache, nếu đặt là 0 có nghĩa là tắt cache.
  • .memory_consumption: Số RAM được phép dùng cho cache của mỗi website trên server. Trong trường hợp server của Quý khách có nhiều website, nên cân nhắc đặt số này hợp lý với số RAM mà Quý khách có.
  • .interned_strings_buffer: Dung lượng bộ nhớ dùng cho các đoạn interned string của PHP.
  • .max_accelerated_files: Số lượng file tối đa được lưu trong bộ nhớ cache.
  • .validate_timestamps: Nếu thông số này là 1 nghĩa là các thay đổi của code PHP sẽ được cập nhật trong khoảng thời gian được đặt trong tham số “revalidate_freq”. Nếu thông số này là 0, các thay đổi của code PHP sẽ không được cập nhật, cần xóa cache thủ công.
  • .revalidate_freq: Khoảng thời gian cập nhật thay đổi của code PHP, ví dụ nếu đặt giá trị này là 180 thì sau 180 giây hệ thống mới cập nhật sự thay đổi của code PHP.

Ngoài ra Quý khách có thể tham khảo thêm các thông số khác của OPcache tại trang chủ của PHP.

4. Xóa cache như thế nào?

Trong trường hợp cần xóa cache, Quý khách có thể tạo ra 1 file PHP có giá trị như sau và chạy file.

<?php
opcache_reset();
?>

Vậy là chúng tôi đã hướng dẫn Quý khách cài đặt và cấu hình OPcache hoàn tất trên PHP 7.2, Quý khách có thể thực hiện tương tự như bài viết trên. Việc sử dụng Opcode Caching này sẽ giúp website của Quý khách tăng tốc khá tốt tuy nhiên trong môi trường server có nhiều website, Quý khách nên cân nhắc thông số “memory_consumption” cho phù hợp.

Was this article helpful?

Related Articles

Leave A Comment?