Một trong những kinh nghiệm trong việc chống DDoS của tôi và cũng là
nguyên tắc quan trọng trong việc thiết kế và xây dựng một hệ thống, cũng
đồng thời là chìa khóa của việc performance tuning, đó chính là
caching. Với một hệ thống cần yêu cầu performance cao thì caching là
việc vô cùng cần thiết. Caching sẽ giúp CPU đỡ đi nhiều việc hơn, cũng
tiết kiệm được nhiều tài nguyên của hệ thống, giúp hệ thống ổn định hơn
và bền bỉ hơn. Vậy cache như thế nào và cache ở đâu ??
- Cache ở những nơi nào cho phép cache và hỗ trợ cache.
- Cache tất cả những gì có thể cache.
Trong mô hình LEMP (Linux + Nginx + PHP + MySQL). Sử dụng XCache, APC
hoặc eAccelerator đối với opcode cache, tùy vào trong từng application
là gì mà sử dụng extension nào, ví dụ WordPress hoạt động nhanh nhất với
Xcache. Ngoài ra còn sử dụng thêm memcached để làm objects cache,
memcached cũng hoạt động rất tốt với những application như vBulletin,
ngoài ra chúng ta có thể sử dụng memcached chung với Nginx thay cho
proxy_cache để cache những static file.
Một điều vô cùng quan trọng nữa là đối với các hệ thống có database lớn,
thì MySQL cũng là một thứ vô cùng nguy hiểm bởi lẽ nếu có quá nhiều
thông tin cần truy xuất thì MySQL sẽ làm CPU lên 100% ngay tức thì, vì
vậy việc cache cho MySQL cũng cần thiết. Rất may mắn là MySQL có support
sẵn Query cache, không cần install gì thêm mà chỉ cần enable chức năng
đó lên và điều chỉnh các thông số cho thích hợp.
Nếu sử dụng Nginx – PHP-FPM thì các bạn cần sử dụng chức năng
fastcgi_cache của Nginx cung cấp, nếu như bên trong không sử dụng
memcached hay opcode cache. Ngoài ra còn một số giải pháp khác ví dụ
Varnish cũng là một giải pháp front-end rất hữu dành cho việc xây dựng
một hệ thống cache cho Webserver.
Hiện nay mô hình tôi đang sử dụng để chạy một forum vBulletin là :
Nginx làm reverse proxy, kết hợp với memcached để cache lại tất cả các
static file hoặc là các objects được truy cập nhiều. Bên trong Nginx kết
hợp PHP-FPM để run php script, ban đầu tôi sử dụng thêm fastcgi_cache
để tăn tốc nhưng sau nghĩ lại không cần thiết nên bỏ đi, với PHP tôi
install thêm opcode cache là APC và memcached, forum vBulletin support
memcached cho nên chỉ cần enable chức năng đó lên, MySQL tôi cũng enable
Query cache để làm việc hiệu quả hơn, hiện nay mô hình này hoạt động
rất ổn định và bền bỉ. Tuy nhiên trong tương lai tôi sẽ cố gắng triển
khai nhiều mô hình khác, ví dụ Nginx + Apache + mod_php để tăng tốc xử
lý PHP.
Caching là việc cần thiết nhưng không phải là duy nhất cần làm. Để xây
dựng một hệ thống yêu cầu performance cao, đòi hỏi phải thực hiện rất
nhiều công việc trãi dài từ tầng application xuống dưới, và quan trọng
hơn là phải đầu tư vào cơ sở hạ tầng phải thật tốt.
Nguồn: XGR
nói rõ ra được .
ReplyDelete-Lát nữa khi ngươi nói chuyện với ông nội của ta , phải chú ý một chút , mặc dù Ngân long tộc chúng ta không muốn làm khó gì ngươi , nhưng nếu ngươi chính thức uy hiếp đến Ngân long tộc , sợ rằng ngươi không rời khỏi đây được đâu . Ngươi hiểu rõ không ?
Diệp Âm Trúc lắc đầu :
-Ta không hiểu?
-Không hiểu ?
-Bởi vì ta đồng tâm
game mu
cho thuê nhà trọ
cho thuê phòng trọ
nhac san cuc manh
số điện thoại tư vấn pháp luật miễn phí
văn phòng luật
tổng đài tư vấn pháp luật
dịch vụ thành lập công ty
http://we-cooking.com/
chém gió
trung tâm tiếng anhkhông nghĩ ra . Ta chỉ là một con người nhỏ bé , làm cách nào có thể uy hiếp toàn bộ Ngân long tộc các ngươi đây ? Chẳng lẽ Ngân long các ngươi , đối với lực lượng của chính mình như vậy lại không có chút nào tự tin ? Long tộc không phải luôn luôn được mệnh danh là chủng tộc mạnh mẽ nhất Đại lục hay sao ? Nếu các ngươi có số lượng đông đảo hơn một chút , chỉ sợ rằng bây giờ các ngươi mới là chúa tể thế giới này mới phải.
Ly Sát hoàn toàn không nghĩ tới Diệp Âm Trúc sẽ nói như vậy . Sửng sốt một chút , sắc mặt nàng lại trở nên lạnh lẽo như băng :
-Đó không phải là chuyện ngươi cần quan tâm . Ngươi nói thật cho ta biết , ngươi có nguyện ý muốn hợp