Memcached là một hệ thống cache hoạt động bằng cách lưu tạm thông tin những dữ liệu bạn hay sử dụng vào bộ nhớ RAM. Do tốc độ đọc ghi của bộ nhớ bao giờ cũng cao hơn so với lưu trữ file nên việc sử dụng memcached giúp cho hệ thống của bạn tăng tốc lên một cách đáng kể.

Mô hình hoạt động của Memcached:

memcached-architecture

Cài đặt Memcached trên CentOS 6

Cài đặt Remi repository (có thể không cần nếu bạn đã cài đặt HocVPS Script)

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

Cài đặt Memcached package

yum install memcached

Bạn cần lưu ý là có 2 memcache package tồn tại là memcache và memcached (có thêm chữ d ở cuối) cũng như có 2 phiên bản PHP Extention Module tương ứng là php-pecl-memcache và php-pecl-memcached. Chúng ta sẽ sử dụng phiên bản thứ 2 (có chữ d) vì nó ổn định và hỗ trợ nhiều chức năng hơn.

Cấu hình Memcached

Thông số quan trọng nhất bạn cần lưu ý đó là CACHESIZE, đơn vị tính là MB. Ví dụ như bên dưới mình sử dụng 512MB để cache (mặc định 64MB)

nano /etc/sysconfig/memcached

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="512"
OPTIONS=""

Khởi động Memcached

chkconfig memcached on
service memcached start

Kiểm tra xem Memcached có hoạt động hay không

memcached-tool 127.0.0.1:11211 stats

#127.0.0.1:11211 Field Value
accepting_conns 1
auth_cmds 0
auth_errors 0
bytes 0
bytes_read 14
bytes_written 768
cas_badval 0
cas_hits 0
cas_misses 0
cmd_flush 0
cmd_get 0
cmd_set 0
conn_yields 0
connection_structures 11
curr_connections 10
curr_items 0
decr_hits 0
decr_misses 0
delete_hits 0
delete_misses 0
evictions 0
get_hits 0
get_misses 0
incr_hits 0
incr_misses 0
limit_maxbytes 536870912
listen_disabled_num 0
pid 1232
pointer_size 64
rusage_system 0.000999
rusage_user 0.000000
threads 4
time 1402941264
total_connections 12
total_items 0
uptime 114
version 1.4.4

Chú ý thông số uptime phía cuối, như vậy là memcached đã sẵn sàng hoạt động rồi.

Ngoài ra các bạn có thể sử dụng memcache.php stats để xem ngay trên trình duyệt.

Mở cổng Memcached (11211) trên Iptables Firewall

Sử dụng lệnh sau

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT

Khởi động lại Iptables Firewall

service iptables restart

Cài đặt Memcached PHP Module trên CentOS 6

Để Memcached có thể hoạt động được với PHP, chúng ta cần cài đặt thêm PHP module.

yum --enablerepo=remi,remi-php55 install php-pecl-memcached php-pecl-memcache

Cuối cùng khởi động PHP và web server

service php-fpm restart
service nginx restart

Cài đặt Memcached làm việc với WordPress

Để Memcached có thể hoạt động với WordPress bạn cần sử dụng plugin cache WP-FFPC được viết riêng cho memcached.

Sau khi cài đặt xong plugin, bạn cần tự add dòng define('WP_CACHE', 'true'); vào trong file wp-config.php (để trên dòng define('DB_NAME', ''); )

Đảm bảo Select backend đang lựa chọn PHP Memcached rồi tiến hành cài đặt cho WP-FFPC và thưởng thức tốc độ vù vù mà Memcached đem lại.

Lưu ý:

  1. Mặc định WP-FFPC không cache với thành viên đăng nhập, bạn có thể chỉnh trong tab Cache exceptions, lựa chọn Enable cache for logged in users.
  2. Để xem cache có hoạt động hay không bạn hãy chọn tab Debug & in-depth, check Add X-Cache-Engine header rồi dùng tool header response check lại.
  3. Cache invalidation method có 3 lựa chọn, hãy chọn cái nào phù hợp với nhu cầu của bạn để sử dụng.

Chúc các bạn thành công!

DMCA.com