• 28/06 cập nhật đăng ký đăng nhập qua Google & Facebook

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

TenHoshi

Administrator
Staff member
Trusted Uploader
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 :

bdcb2fe8d593f4559573cf391b99c04d.png

204f1cbf6b56ef28fd91651238f3d095.png


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
 

Guest Post 2022

Top