Thủ thuật giúp giảm tải Server Linux bằng Module Memcache

Vdo.com.vn – Đối với những website lớn như website thương mại điện tử có số lượng người truy cập khủng lên tới hàng nghìn lượt traffic/phút thì khả năng khiến máy chủ có nguy cơ bị quá tải là rất cao vì vậy việc sử dụng Module Memcache chính là giải pháp tối ưu giúp bạn khắc phục điều đó. Module Memcache có khả năng giảm tải tạm tới 60% RAM khi chưa cài đặt ứng dụng này. Để tìm hiểu rõ hơn, bạn đọc hãy cùng theo dõi bài viết “Thủ thuật giúp giảm tải Server Linux bằng Module Memcache ” dưới đây của chúng tôi.

thu-thuat-giup-giam-tai-server-linux-bang-module-memcache-1

1/ Giới thiệu về Module Memcache:

Cũng tương tự như cache, tuy nhiên Memcached không giống như các bộ cache trên, nó là 1 service độc lập như mysql. Memcached có khả năng cung cấp 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). Điều đó đồng nghĩa với việc sử 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.

>>> Máy chủ là gì?

2/ Cách thức hoạt động:

Memcaches có phương thức hoạt động tương tự mô hình truy vấn dữ liệu (data) từ CPU tới các loại bộ nhớ có dạng sau:
CPU <==>Cache Memory <==>RAM <==> HDD (ổ cứng).

Dựa vào sơ đồ trên hẳn bạn đã hình dung ra được phần nào trình tự xử lí của Memcaches. Trước tiên mọi dữ liệu mà CPU xử lý sẽ được đặt vào cache (bộ nhớ đệm với khả năng truy xuất cực nhanh). Trong trường hợp CPU không thấy dữ liệu trong cache, Memcaches mới bắt đầu tìm đến RAM nếu trong RAM cũng không có nốt thì nó mới tiếp tục tìm đến ổ cứng.

Với mô hình cache này được nhiều ứng dụng thương mại sử dụng nhằm làm tăng tốc độ xử lý chương trình bằng cách lưu lại các kết quả đã xử lý được vào một chỗ nào đó (gọi là cache). Trong mỗi một yêu cầu khi xử lý các yêu cầu, chương trình sẽ kiểm tra xem dữ liệu liên quan tới yêu cầu đó đã được xử lý chưa, đã tồn tại trong cache chưa? Nếu đã có rồi thì chỉ còn việc sử dụng. Còn trong trường hợp ngược lại (chưa có), chương trình mới hì hục truy vấn, xử lý dữ liệu… và tìm cách lưu các dữ liệu đã xử lý vào cache.

PHP cũng tồn tại một công cụ tương tự như vậy, đó là memcache. Đây là một công cụ khá hữu hiệu để giúp tăng tốc độ xử lý dữ liệu, cho phép Website có thể “chống đỡ” được rất nhiều lượt truy cập bằng cách xử lý các yêu cầu giống nhau và lưu sẵn các kết quả vào cache, khi cần chỉ việc lấy kết quả từ cache và chuyển luôn xuống cho người dùng, khỏi phải xử lý lại cho mất công.

3/ Thủ thuật giúp giảm tải Server Linux bằng Module Memcache  trên Centos 4+ :

Bước 1: 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 :

- Dành cho PHP 5 :

yum install gcc

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

yum install php-devel

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

yum install php53-devel

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

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/…l5.rf.i386.rpm

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

rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_6….rf.x86_64.rpm

- Chỉnh sửa Config Memcache :

yum -y install memcached

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

vi /etc/sysconfig/memcached

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

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

Bước 3: Khởi động chạy

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

3/  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 theo đường dẫn dưới đây:

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 được hay chưa?

php -i | grep memcache

Đó là toàn bộ những thao tác cũng như cách cài đặt giúp bạn giảm tải Server Linux khi sử dụng Module Memcache đầy đủ và chi tiết nhất. Hi vọng những chia sẻ trên của chúng tôi sẽ thực sự hữu ích và có giá trị với bạn.

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

Nguồn Tổng Hợp