Giới thiệu APC - PHP Opcode Caching

Giới thiệu APC - PHP Opcode Caching

Giới thiệu APC - PHP Opcode CachingHôm nay, mình giới thiệu tới các bạn một kỹ thuật rất phổ biến khi làm việc với PHP nhưng cũng còn nhiều người chưa biết. Đã là dân lập trình, hẳn không ai trong chúng ta chưa từng nghe qua 2 cụm từ: "Biên dịch" và "Thông dịch". Và hầu như ai cũng biết là các chương trình dạng "biên dịch" sẽ chạy nhanh hơn so với các chương trình dạng "thông dịch", nhưng tại sao nó lại như vậy và có cách nào để cải thiện vấn đề này không. Bài viết sau, nhằm mục đích chia sẽ tới mọi người rõ hơn vì sao "thông dịch" chậm hơn "biên dịch" và 1 giải pháp giúp cải thiện đó là APC - Alternative PHP Caching

Hình 1: Object PHP Lifecycle. Như chúng ta thấy trong hình trên, mỗi request đến file PHP sẽ được tiến hành xử lý thông qua 4 bước trước khi trả kết quả về cho người dùng. Quá trình này là cần thiết cho việc thực thi lệnh lần đầu, nhưng thực sự không cần thiết cho những lần gọi sau đó, vì quá trình vẫn thực hiện đầy đủ 4 bước, dù file PHP không hề có sự thay đổi. Điều này chính là nguyên nhân chính dẫn tới việc "Thông dịch" chậm hơn nhiều so với "Biên dịch".

Hình 2: Object PHP Lifecycle after Caching. Sau khi được cache lại, quá trình thực hiện chỉ còn thông qua 2 bước là quét dữ liệu từ cache và thực thi lệnh. Như vậy nhanh hơn rất nhiều so với trước đó. Và theo đó, trong lần thực thi đầu tiên, ngoài việc chạy 4 bước như trên, thì code sẽ được lưu thêm vào cache để tăng tốc cho lần sau. Cái này gọi là lỗ trước, lời sau, mà lần sau thì lời to mà ^^

APC - Alternative PHP Caching - Opcode Caching Tool

1 - Giới thiệu:

APC là một FREE PHP Extension, là một công cụ hỗ trợ opcode caching rất đơn giản và cũng không kém phần hiệu quả. Ngoài ra, APC còn có thể dùng cho việc data caching.

2 - Cài đặt

APC có phiên bản dành cho Windows lẫn cho Linux. Tuy nhiên, vì blog của mình chủ yếu nói trên Linux, nên mình cũng chỉ tập trung cho cài đặt cho Linux.

Bạn thực hiện lần lượt các câu lệnh sau để tiến hành cài đặt APC vào LAMP Server

yum install php-pear
yum install httpd-devel
yum install pcre-devel
cd /usr/src
wget http://pecl.php.net/get/APC-3.1.9.tgz
tar -xvzf APC-3.1.9.tgz
cd APC-3.1.9
phpize
./configure --enable-apc --enable-apc-mmap --with-apxs --with-php-config=/usr/bin/php-config
make
make install

3 - Cấu hình APC cho PHP

gedit /etc/php.ini

Thêm các dòng sau vào cuối file

[APC]
extension = apc.so
apc.enabled = 1
apc.shm_size = 32
apc.ttl = 7200
apc.user_ttl = 7200

Sau đó restart lại Apache

/etc/init.d/httpd restart

Vậy là xong, quá trình cài đặt cho APC Opcode Caching hoàn tất.

4 - APC Admin

Copy file apc.php từ thư mục gốc vào thư mục chạy web, ví dụ như sau:

mkdir /var/www/html/apcadmin
cp apc.php /var/www/html/apcadmin/index.php
gedit /var/www/html/apcadmin/index.php

Sửa dòng sau:

defaults('ADMIN_PASSWORD','password');

Thành

defaults('ADMIN_PASSWORD','123456'); // Có thể thay bằng password khác, nhưng phải khác giá trị ban đầu

Sau đó vào trình duyệt, nhập vào url: http://localhost/apcadmin để vào trang admin của APC

5 - Disable APC cho PhpMyAdmin

gedit /etc/httpd/conf/httpd.conf

Copy dán đoạn sau vào cuối file

<Directory /var/www/html/phpmyadmin>
       Options Indexes FollowSymLinks MultiViews
       AllowOverride None
       Order allow,deny
       allow from all
       php_flag apc.cache_by_default Off
</Directory>

Sau đó restart lại Apache server

/etc/init.d/httpd restart

Như vậy là hoàn tất mọi thao tác cài đặt, cấu hình APC cho PHP để opcode caching. Thao tác caching sẽ tự động mà chúng ta không cần tác động gì thêm.

Hy vọng bài viết giúp mọi người thành công

Theo Minh Quang Trần 

Blog:   http://tmquang6805.blogspot.com

Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 

Giới thiệu cài đặt Apache Hive trên linux mới nhất

Dưới đây là các bước cài đặt Java, Hadoop, Hive. Các bạn cần làm theo. Trong trường hợp hệ thống đã cài đặt Java rồi thì bỏ qua bước 1.

Startup công nghệ tỉ đô đầu tiên của châu Phi lên sàn chứng khoán New York

Startup công nghệ tỉ đô đầu tiên của châu Phi lên sàn chứng khoán New York

Theo CNBC, cổ phiếu Jumia Technologies tăng đến hơn 60% trong ngày đầu giao dịch trên Sàn Giao dịch Chứng khoán New York. Giữa ngày giao dịch (giờ Mỹ) cổ phiếu có giá tầm 22 USD, cao hơn mức mở cửa 14,5 USD. Vốn hóa thị trường của Jumia hơn 1 tỉ USD một chút.

Apple kiếm 10 USD từ mỗi thiết bị Android bán được?

Apple kiếm 10 USD từ mỗi thiết bị Android bán được?

Nếu Apple ngừng các vụ kiện hiếu chiến và tập trung vào việc bán giấy phép công nghệ, họ có thể kiếm bộn tiền một cách “tử tế”.

Công ty diệt chuột T&C

 

Diet con trung