|
||||||||
|
||||||||
|
|
Công Cụ | Xếp Bài |
11-11-2013, 03:07 PM | #1 |
Guest
Trả Lời: n/a
|
XCache, APC, eAccelerator, truck-mmcache, phpa và memcache là gì, hoạt động thế nào
XCache, APC, eAccelerator, truck-mmcache, phpa và memcache là gì, hoạt động thế nào ?
Hiện nay, trên thế giới và trong giới delveloper & webmaster của Việt Nam có vẻ như đang rộ lên việc sử dụng các phần mở rộng cache nhằm tăng tốc ứng dụng web. Tuy nhiên, mình thấy hầu hết các bạn chỉ biết nó là cache, nó sẽ giúp tăng tốc ứng dụng web chứ chẳng biết nó cache cái gì và nên cài loại cache nào cả. Trong bài viết này mình sẽ giải thích cơ chế hoạt động của các loại cache này nhằm giúp các bạn hiểu được chúng để có thể vận hành và cài đặt 1 loại phù hợp và đạt hiệu quả cao nhất. 1. XCache, APC (Alternative PHP Cache), eAccelerator, truck-mmcache, phpa (PHP Accelerator) Tất cả các loại trên thuộc cùng 1 dòng cache và nguyên lý hoạt đồng giống nhau. Mục đích của loại cache này là lưu trạng thái biên dịch từ mã PHP sang mã máy và lưu trạng thái biên dịch này vào RAM. Khi có yêu cầu tiếp theo, PHP Engine sẽ không đọc lại file php được yêu cầu và dịch chúng nữa mà lấy ngay mã máy đã được biên dịch lưu trữ trong RAM trước đó và sử dụng luôn. Từ cơ chế trên, ta thấy rằng việc xử lý yêu cầu sẽ được thực hiện nhanh hơn do 1 phần công đoạn đã được loại bỏ. Theo như quảng cáo của các phần mở rộng này thì chúng có thể giúp quá trình dịch mã nhanh hơn đến 5 lần. Vậy, ta nên cài cái nào trong số những cái trên ? Tất cả các phần mở rộng trên đều miễn phí. Tuy nhiên, qua đánh giá của cư dân mạng thì APC, XCache và eAccelerator được đánh giá cao nhất. Trong đó APC được phát triển bởi đội ngũ phát triển PHP nên sẽ được cập nhật nhanh nhất cùng với các phiên bản PHP cũng như có sự tương thích, ổn định và dễ cài đặt nhất. Nhưng trong các cuộc thử nghiệm thì eAccelerator cho thấy tốc độ nhanh nhất nhưng việc cài đặt và cập nhật khó khăn hơn so với 2 cái còn lại. Vì vậy, nếu bạn muốn tốc độ nhanh nhất, ta có thể xếp theo thứ tự eAccelerator -> XCache -> APC Xếp theo cấp độ dễ cài đặt và cấu hình APC -> XCache -> eAccelerator Xếp theo tính ổn định và khả năng cập nhật mới nhanh chóng APC -> XCache -> eAccelerator Từ những so sánh trên, hy vọng bạn có thể tự quyết định được cho mình nên chọn cái nào phù hợp 2. Memcache (Memcached) 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. Tổng kết: Memcached và Xcache, eAccelerator, APC là 2 nhóm khác nhau, bạn có thể dùng cùng lúc 2 nhóm này (Nhưng ở cùng 1 nhóm chỉ cài 1 cái). VD: Cài memcached và xCache, Memcached và APC. Khá nhiều bạn tưởng làm tất cả cái này có chức năng như nhau và chỉ cài 1 cái (VD: Memcached). Một số bạn từng hỏi mình: "Memcache và xCache cái nào tốt hơn anh ?" Nếu bạn là tay mơ Linux, có thể tham khảo bài viết sau để cài đặt những thứ này dễ hơn: http://sinhvienit.net/forum/centmin-...ng.255855.html |
|
|