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
. 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
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
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
/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.
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
apt-get install memcached php5-memcache
thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
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/memcachedthiế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
vi /etc/memcached.conf
thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
[...]
# 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
[...]
thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
/etc/init.d/memcached restart
thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
netstat -tap | grep memcached
thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
server1:~# netstat -tap | grep memcachedthiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
tcp 0 0 localhost.localdo:11211 *:* LISTEN 3092/memcachedthiế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
vi /etc/php5/apache2/php.ini
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
[...]
extension=memcache.so
[memcache]
memcache.dbpath=/var/lib/memcache
memcache.maxreclevel=0
memcache.maxfiles=0
memcache.archivememlim=0
memcache.maxfilesize=0
memcache.maxratio=0
thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
/etc/init.d/apache2 restart
thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
3 Configure vBulletinthiế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
cd /var/www/www.example.com/web/forums/includes/
vi config.php
thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
[...]
/*
$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;
*/
[...]
thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
[...]
$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;
[...]
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àythiế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
<?thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
$memcache = new Memcache;thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
$memcache->connect('localhost', 11211) or die ("Could not connect");thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
echo "Server's version: {$memcache->getVersion()}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
$tmp = new stdClass;thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
$tmp->string_attribute = 'testing';thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
$tmp->string_attribute = 123;thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
$memcache->set('key', $tmp, false, 10) or die ("Failed to save temporary object at memcache server");thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
echo "Data from the cache:thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
\n";thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
print_r($memcache->get('key'));thiết kế web giá rẻ Việt Nam
thiet-ke-web-gia-re-viet-nam
?>Sưu tầm
- 10 thủ thuật quảng bá Web giúp bạn tạo tiêu đề bài viết hấp dẫn người đọc và máy tìm kiếm.
- Thư viện cache.php - Cache website
- Plugin jquery lazyload - load từng ảnh trên trang web
- Hướng dẫn sử dụng Robots META Tag - Metadata Elements
- 10 Tips for DIY SEO Copywriting
- Alexa rank lower
- Bộ 10 công cụ SEO miễn phí từ Google
- Google xếp hạng cao thương hiệu trong kết quả tìm kiếm




