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.
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.
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
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
Nguồn