Sử dụng APC hoặc APCu từ lâu đã là một phương pháp opcode cache được sử dụng rộng rãi để tối ưu hoạt động của VPS. Tuy nhiên APC không được cập nhật, nâng cấp thường xuyên (phiên bản stable mới nhất 3.1.9 ra ngày 2011-05-14) và thỉnh thoảng vẫn xuất hiện một số lỗi vặt.

Với sự xuất hiện của Zend OPcache mặc định đi kèm từ phiên bản PHP 5.5 trở về sau, chắc chắn APC hoặc các opcode cache khác sẽ không có cửa để phát triển nữa.

Trong bài viết này, mình sẽ hướng dẫn các bạn cách cài đặt Zend OPcache với phiên bản PHP 5.5 và 5.6. Các phiên bản PHP 5.4 hoặc 5.3 sẽ có cách cài đặt khác, mình không đề cập trong bài viết này vì phiên bản PHP quá cũ rồi.

Để xem phiên bản PHP hiện tại bạn hãy sử dụng lệnh php -v hoặc php-fpm -v

Các bạn có thể sử dụng tham số --enable-opcache khi compile PHP, tuy nhiên cách này hơi khó thực hiện với đa số người dùng, do đó hãy dùng cách cài đặt thêm extension cho PHP. Lưu ý cần cài đặt PHP trước khi bắt đầu.

HocVPS Script mặc định tích hợp Zend Opcache rồi, các bạn đang dùng không cần cài thêm nữa nhé.

Plugin Duplicator, BackWPUp hay UpDraftPlus của WordPress bị lỗi 502 Bad Gateway không tương thích với Zend OPCache, để khắc phục các bạn hãy tham khảo hướng dẫn sau.

1. Thêm repo epel, remi

## CentOS 7 ##
yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

## CentOS 6 ##
yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Bước này có thể bỏ qua nếu bạn đã làm theo hướng dẫn cài đặt LEMP trên CentOS.

2. Cài đặt PHP’s Zend Opcache

## PHP 7.0 ##
yum --enablerepo=remi,remi-php70 install php-opcache
service php-fpm restart

## PHP 5.6 ##
yum --enablerepo=remi,remi-php56 install php-opcache
service php-fpm restart

## PHP 5.5 ##
yum --enablerepo=remi,remi-php55 install php-opcache
service php-fpm restart

Với PHP 5.4, 5.3 xem comment bên dưới.

Sau khi cài đặt xong, bạn hãy xem thông tin phpinfo(), nếu có Zend OPcache xuất hiện như bên dưới là đã thành công.

Zend OPcache

3. Cấu hình PHP’s Zend Opcache

Mặc định, OPcache sử dụng 128MB bộ nhớ và cache tối đa 4.000 files. Nếu bạn muốn thay đổi tham số này thì chỉ cần chỉnh sửa trong file cấu hình /etc/php.d/10-opcache.ini hoặc /etc/php.d/opcache.ini

nano /etc/php.d/10-opcache.ini

Các thông tin cần chỉnh

; The OPcache shared memory storage size.
opcache.memory_consumption=128

; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=4000

4. Web Viewer

Để theo dõi được tình trạng sử dụng Zend Opcache, các bạn có thể sử dụng Web Viewer opcache-gui by amnuts (hoặc cài đặt plugin OPcache Dashboard nếu dùng WordPress).

Ưu điểm có giao diện responsive, nhiều tính năng và có thể reset/flush opcache.

Cài đặt

wget https://raw.github.com/amnuts/opcache-gui/master/index.php -O op.php

Hình ảnh

opcache gui

5. Gỡ bỏ Zend Opcache

Để tạm thời tắt tính năng cache, bạn hãy edit file cấu hình /etc/php.d/10-opcache.ini hoặc /etc/php.d/opcache.ini

nano /etc/php.d/10-opcache.ini

Chỉnh tham số opcache.enable=1 thành opcache.enable=0, sau đó restart lại php-fpm

service php-fpm restart

Sau khi chỉnh sửa code xong, hãy kích hoạt lại opcache.enable=1.

Để gỡ hẳn Zend Opcache khỏi server (không nên nhé), bạn hãy chạy lệnh:

yum -y remove php-opcache
service php-fpm restart

Comment của bạn

Your email address will not be published. Required fields are marked *

154 Comments