Đối tác

Online

  Số người đang online : 146

free counters Free WebSites Counters
        
( Nguồn - 2011-06-08 17:38:30 )

Sau 2 ngày nghiên cứu vật vã cũng hiểu được tạm tạm nguyên lý thằng Facebook và google tại sao nó chạy nhanh như vậy...

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Nó có hàng ngàn cổ sever đặt khắp các nước trên thế giớ và có 1 lượng lớn sever cố định 1 nơi để chạy resource còn lại chạy cache ở mỗi nước. Nếu ip nước nào truy cập vào nó sẽ lưu cache vào sever nước đó và khi đó nó chỉ việc lôi cái cache đó ra cho ngườ khác sử dụng. Đã nói như 1 bài ở trên. Ở đây sẽ hướng dẫn cách sử dụng memcached cho sever + vbb nhé.

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Nếu các bạn đã học qua về kiến trúc máy tính, hẳn các bạn cũng biết đến một thứ bộ nhớ cực kỳ mạnh mẽ, rất được CPU trọng dụng, đó là bộ nhớ cache . Mô hình truy vấn dữ liệu (data) từ CPU tới các loại bộ nhớ có dạng sau:

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


CPU <==>Cache Memory <==>RAM <==> HDD (ổ cứng)

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Thứ tự ưu tiên hẳn các bạn đã biết, đầu 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). Nếu như CPU không thấy dữ liệu trong cache, nó mới lò dò tìm đến RAM, và khi trong RAM cũng không có nốt thì nó mới phải cầu viện đến cái ổ cứng chậm chạp!

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


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). Sau này, mỗi 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ỉ việc đem ra xài. 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.

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


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ắc công .

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Sơ lược về cache và quảng cáo về sức mạnh của memcache tạm dừng ở đây, bây giờ ta sẽ bắt tay vào mổ xẻ cái thứ đồ chơi này xem sao  Trước tiên, cũng như mọi lần, tôi cần một ấm trà hoặc một cốc cafe đã 

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


bài này tham khảo php.vn

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Cài đặt Memcache thôi nào(sever linux nhé )

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


1 Preliminary Note 

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Với vbb thì nó thường mặc định đường dẫn là :

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
/var/www/www.example.com/web/forums
quan trọng cần sử dụng là file config nhé. Nó sẽ nằm ở 
/var/www/www.example.com/web/forums/includes.
2 Installing memcached And The PHP5 memcache Module 

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


memcached and the PHP5 memcache module are available as packages for Debian Etch, so we can install them as follows:

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
apt-get install memcached php5-memcache
After the installation, memcached should already be running. You can check that by typing

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
netstat -tap | grep memcached
server1:~# netstat -tap | grep memcached

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


tcp 0 0 *:11211 *:* LISTEN 3053/memcached

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


server1:~#

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


As you see, memcached is running on port 11211 (the default memcached port), and it's listening on all interfaces on the system. As memcached has no built-in authentication mechanisms (in order to not give up on speed), this means that anyone can connect to it from outside and use it. To avoid this, you can either close port 11211 in your firewall, or you configure memcached to listen on localhost only. I will use the latter method here.

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


To do this, open the memcached configuration which is stored in /etc/memcached.conf:

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
vi /etc/memcached.conf
Add -l 127.0.0.1 to the configuration (you can also adjust the other settings if you like - the file contains explanations for each setting):

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
[...]
# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
# -l 12.34.56.78
-l 127.0.0.1
[...]
Restart memcached...

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
/etc/init.d/memcached restart
... and run 

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
netstat -tap | grep memcached
again. As you see, memcached is now listening on localhost only: 

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


server1:~# netstat -tap | grep memcached

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


tcp 0 0 localhost.localdo:11211 *:* LISTEN 3092/memcached

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


server1:~#

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Then open /etc/php5/apache2/php.ini...

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
vi /etc/php5/apache2/php.ini
... and make sure that you have something like this in it (probably at the end): 

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
[...]
extension=memcache.so
[memcache]
memcache.dbpath=/var/lib/memcache
memcache.maxreclevel=0
memcache.maxfiles=0
memcache.archivememlim=0
memcache.maxfilesize=0
memcache.maxratio=0
Afterwards, we restart Apache so that our new PHP configuration takes effect:

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
/etc/init.d/apache2 restart

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


3 Configure vBulletin

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Next open vBulletin's config.php file:

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
cd /var/www/www.example.com/web/forums/includes/
vi config.php
You should find something like this in it:

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
[...]
/*
$config['Datastore']['class'] = 'vB_Datastore_Memcached';
$i = 0;
// server thứ nhất
$i++;
$config['Misc']['memcacheserver'][$i]                = '127.0.0.1';
$config['Misc']['memcacheport'][$i]                        = 11211;
$config['Misc']['memcachepersistent'][$i]        = true;
$config['Misc']['memcacheweight'][$i]                = 1;
$config['Misc']['memcachetimeout'][$i]                = 1;
$config['Misc']['memcacheretry_interval'][$i] = 15;
*/
[...]
The /* ... */ means the section is commented out. Remove /* and */ from that section and save the file:

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Code:
[...]

$config['Datastore']['class'] = 'vB_Datastore_Memcached';
$i = 0;
// sever thứ 2 ... và thứ n đều như vậy.
$i++;
$config['Misc']['memcacheserver'][$i]                = '127.0.0.1';
$config['Misc']['memcacheport'][$i]                        = 11211;
$config['Misc']['memcachepersistent'][$i]        = true;
$config['Misc']['memcacheweight'][$i]                = 1;
$config['Misc']['memcachetimeout'][$i]                = 1;
$config['Misc']['memcacheretry_interval'][$i] = 15;

[...]
(If your memcached is running on another server or port, you must adjust these settings!)

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


That's it. Your vBulletin is now using memcached! 

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


4 Links website đã dùng và tham khảo cho bài viết này

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Phần cài đặt phải để tiếng anh nhá. Vì setup bằng lệnh trong linux dịch ra thì nó lủng củng lắm. Chúc mọi ngườ thành công nhé.

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Share đoạn code để test xem memcached đã hoạt động tốt chưa nhé.

thiết kế web giá rẻ Việt Nam

thiet-ke-web-gia-re-viet-nam


Theo:
Bình chọn bài viết
Điểm trung bình : Tổng điểm : 6 / 3
Bình chọn :
Đánh giá bài viết
Đánh giá bài viết
Họ và tên :
Email :
Nội Dung :
 

Tin mới hơn
Tin cũ hơn

Thiết kế web giá rẻ

Thiết kế web giá rẻ An GiangThiết kế web giá rẻ Bà Rịa-Vũng TàuThiết kế web giá rẻ Bắc GiangThiết kế web giá rẻ Bắc NinhThiết kế web giá rẻ Bến TreThiết kế web giá rẻ Bình ĐịnhThiết kế web giá rẻ Bình DươngThiết kế web giá rẻ Bình ThuậnThiết kế web giá rẻ Cà MauThiết kế web giá rẻ Cần ThơThiết kế web giá rẻ Đà NẵngThiết kế web giá rẻ Đắc LắcThiết kế web giá rẻ Đắc NôngThiết kế web giá rẻ Đồng NaiThiết kế web giá rẻ Đồng ThápThiết kế web giá rẻ Gia LaiThiết kế web giá rẻ Hà GiangThiết kế web giá rẻ Hà NamThiết kế web giá rẻ Hà NộiThiết kế web giá rẻ Hà TâyThiết kế web giá rẻ Hà TĩnhThiết kế web giá rẻ Hải DươngThiết kế web giá rẻ Hải PhòngThiết kế web giá rẻ Hồ Chí MinhThiết kế web giá rẻ Hoà BìnhThiết kế web giá rẻ HuếThiết kế web giá rẻ Hưng YênThiết kế web giá rẻ Khánh HoàThiết kế web giá rẻ Kiên GiangThiết kế web giá rẻ Kon TumThiết kế web giá rẻ Lâm ĐồngThiết kế web giá rẻ Lạng Sơn Thiết kế web giá rẻ Long AnThiết kế web giá rẻ Nam ĐịnhThiết kế web giá rẻ Nghệ AnThiết kế web giá rẻ Ninh BìnhThiết kế web giá rẻ Ninh ThuậnThiết kế web giá rẻ Phú ThọThiết kế web giá rẻ Phú YênThiết kế web giá rẻ Quảng BìnhThiết kế web giá rẻ Quảng NamThiết kế web giá rẻ Quảng NgãiThiết kế web giá rẻ Quảng NinhThiết kế web giá rẻ Quảng TrịThiết kế web giá rẻ Sài GònThiết kế web giá rẻ Sóc TrăngThiết kế web giá rẻ Sơn LaThiết kế web giá rẻ Tây NinhThiết kế web giá rẻ Thái BìnhThiết kế web giá rẻ Thái NguyênThiết kế web giá rẻ Thanh HoáThiết kế web giá rẻ Tiền GiangThiết kế web giá rẻ Trà VinhThiết kế web giá rẻ Tuyên QuangThiết kế web giá rẻ Vĩnh Long Thiết kế web giá rẻ Vĩnh PhúcThiết kế web giá rẻ Yên Bái