Hiện tại có rất nhiều hướng dẫn cấu hình để có thể tạo được máy chủ ảo chịu tải lớn trên mạng thông qua load balancing, optimize các services… Hôm nay, mình sẽ hướng dẫn các bạn một cách khác sử dụng kết hợp Zend Opcache, Memcache, Memcached để có thể xây dựng được VPS có thể chịu được hàng nghìn người online cùng lúc.
Khác hàng chúng tôi đã thuê và thử cài đặt máy chủ ảo (VPS) ở Cloud Việt với gói 150.000/tháng, 2 CPU, 1GB RAM, ổ cứng HDD 20GB thấy có lúc online đến 2k (theo thống kê Google Analytics) vẫn chạy ổn.
Hình ảnh chụp lúc online 2.344 người ngày 23/12/2017, đo bằng Google Analytics, site tin tức bằng WordPress:
Số lượng người online nhiều như vậy nhưng chỉ sử dụng hết 20% đến 30%CPU, RAM còn thừa rất nhiều, nếu hoạt động hết công suất không biết lên đến mấy k người online nữa.
1. Thuê máy chủ ảo VPS tại Cloud Việt và cài đặt:
Sử dụng máy chủ ảo tại Cloud Việt bạn sẽ được máy chủ đã cài đặt sẵn và tối ưu apache server trên CentOS. Chúng tối đã tích hợp sẵn các ứng cần thiết cho một website. Bạn chỉ việc mua về và chạy thêm những bước bên dưới là được.2. Cài đặt Zend Opcache
Mục đích sử dụng Zend OPcache để tối ưu và tăng tốc PHP, điều này đặc biệt quan trọng và bắt buộc phải cài với những VPS có số lượng người online lớn. Qua đó giảm thiểu hoạt động của CPU và giảm đáng kể số lượng RAM mà PHP sử dụng. VPS Cloud Việt đã tự động cài đặt Zend OPcache giúp bạn, giờ chỉ cần điều chỉnh lại các tham số cho phù hợp với nhu cầu sử dụng của bạn mà thôi. Bạn hãy theo dõi tình hình thực tế khi chạy VPS với 1 trình web viewer, ví dụ opcache-gui (server cài sẵn thì đường dẫn là http://domain.com:port/op.php). Tăng hoặc giảm bộ nhớ làm sao giữ cho memory usage <= 70% là ổn, bộ nhớ còn trống sẽ được dùng cho các việc khác.Lưu ý: Bước tiếp theo bạn có thể dùng plugin cache như WP Super Cache hoặc Memcached với W3 Total Cache (bước 3 và 4). Nên thử với WP Super Cache trước, vì đa phần các website chỉ cần plugin này là đủ, mà cài đặt lại đơn giản.
3. Cài đặt Memcached
Memcached mình sử dụng để cache query database, object và page cache. Thông thường, các dữ liệu trên thường được cache bằng cách sử dụng disk, nhưng memcached lưu thông tin trên RAM nên hiệu suất và tốc độ được tăng lên rất nhiều. Các bạn thực hiện theo như hướng dẫn cài đặt memcached. Trong phần Cấu hình Memcached lưu ý tăng thông sốMAXCONN="1024"
thành MAXCONN="10240"
# nano /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="10240"
CACHESIZE="128"
OPTIONS="-l 127.0.0.1 -U 0"
Tương tự như Zend OPcache bên trên, bạn nên sử dụng tool theo dõi phpMemcachedAdmin, điều chỉnh đảm bảo cho bộ nhớ <= 70%, tránh việc thừa quá nhiều RAM.
Ở bước cuối bạn không cần thiết phải cài plugin WP-FFPC cho WordPress vì chúng ta sẽ sử dụng plugin W3 Total Cache như hướng dẫn bên dưới.