Giảm tải máy chủ bằng Module Memcache trên Linux

Memcache là gì ?

Memcached cũng là cache nhưng nó không giống như các bộ cache trên, nó là 1 service độc lập như mysql. Memcached cung cấp cho bạn khả năng lưu trữ đối tượng bất kỳ vào trong RAM. Để PHP có thể hoạt động với memcached bạn cần cài 1 phần mở rộng để PHP có thể hoạt động với memcached dựa vào các hàm và class mà phần mở rộng đó cung cấp. (VD: phần mở rộng Memcache)

Như vậy, muốn dùng memcached bạn phải cài memcached và cài memcache extension.

Hiện nay hầu hết các mã nguồn mở và thương mại đều hỗ trợ memcache. Ví dụ: vBulletin & Xenforo sẽ lưu các options vào memcached, khi có người truy cập thì các option này sẽ được lấy ra từ trong RAM chứ không query trong database ra nữa.

Sơ đồ hoạt động Memcache :





Sau khi có memcached thì lần đầu tiên của user thường truy cập vào CSDL thì server sẽ trả lại kết quả cho user như thông thường hiện nay và kèm them một việc là trả dữ liệu vào server memcached. Lúc đó lần sau user truy cập nó sẽ không yêu cầu server làm việc nữa thay vào đó nó sẻ đưa từ server memcached trả lại cho user . việc đó sẽ giúp giảm thiểu 1 lượng lớn công việc mà server cần làm việc. Giúp website của bạn chạy nhanh hơn khoảng 70%

-Tổng hợp nhiều nguồn-


1. Hưỡng dẫn cài đặt Module Memcache tuyệt vời này trên Centos 4+ :

Trước khi cài đặt Memcache các bạn cần phải bắt buộc đã cài đặt các gói sau :

yum install gcc



Dành cho PHP 5 :

yum install php-devel



Dành cho PHP 5.3 trở lên :

yum install php53-devel



Đối với các phiên bản i386 / i686 :

 

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm


Đối với các phiên bản x86_64 :

 

rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

 


Bắt đầu cài đặt :

yum -y install memcached



Chỉnh sửa Config Memcache :

vi /etc/sysconfig/memcached



Chỉnh sửa nội dung bên dưới

 PORT=”11211″ #define on which port to urn
USER=”nobody” #same as apache user
MAXCONN=”1024″ #maximum number of connections allowed
CACHESIZE=”64″ #memory used for caching
OPTIONS=”" #use for any custom options



Lưu file bằng cách ấn tổ hợp phím Ctrl + C đánh ':wq'

Khởi động chạy


/etc/init.d/memcached start
netstat -anp | grep 11211



2. Cài đặt Extension cho PHP :

 cd /usr/src
wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5
phpize
./configure
make
make install



Tìm vị trí của file php.ini và chỉnh sửa trên đường dẫn


php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration File => /usr/local/lib/php.ini


Thêm dòng: extension = 'memcache.so' vào file php.ini

vi /usr/local/lib/php.ini


extension = “memcache.so”

khởi động lại Apache

/etc/init.d/httpd restart



Check mencached đã chạy ok hay chưa?

php -i | grep memcache


Với các bước hưỡng dẫn trên các bạn có thể giảm bớt các truy vấn MySQL lên máy chủ, sẽ tăng khả năng máy chủ chạy ổn định và giảm nhiều RAM xử lý hơn trên máy chủ của bạn.

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

Sưu tầm : Mr.Vinh
Quay lại

Tối ưu hóa MySql trên VPS bằng công cụ Mysqltuner

Xem tiếp

Một lỗ hổng bảo mật trong Tinder sẽ tiết lộ vị trí thực sự của bạn