Hiện tại có rất nhiều hướng dẫn cấu hình để có thể tạo được VPS 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 HocVPS Script, Zend Opcache, Memcache để có thể xây dựng được VPS có thể chịu được hàng nghìn người online cùng lúc.

Mình đã thử cài đặt VPS ở Vultr với gói 0.022$/giờ ~ 15$/tháng, 2 CPU, 2GB RAM thấy có lúc online đến 4k (theo thống kê Google Analytics) vẫn chạy ổn. Tiếc là ko có điều kiện test lâu dài xem thực tế sức chịu đựng của VPS như thế nào.

Hình ảnh chụp lúc online 4.363 người ngày 12/11/2014, đo bằng Google Analytics, site tin tức bằng WordPress:

43633

Số lượng người online nhiều như vậy nhưng chỉ sử dụng hết 20% 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 online nữa 🙂

Học VPS có dịch vụ cài đặt và tối ưu VPS trọn gói, chuyên nghiệp, nhanh gọn. Nếu bạn không có nhiều kinh nghiệm với VPS, hoặc không muốn tốn nhiều thời gian cài đặt, hãy sử dụng dịch vụ.

1. Cài đặt HocVPS Script

hocvps script

Sử dụng HocVPS Script bạn sẽ được tự động cài đặt và tối ưu LEMP server trên CentOS. Trước khi tiến hành cài đặt, nhớ chọn hệ điều hành CentOS, location Japan ở Vultr để có tốc độ về Việt Nam nhanh nhất.

Ngoài ra bạn nên tạo thêm swap 1GB cho VPS (thường swap gấp đôi hoặc ~ RAM)

Các bước cài đặt thực hiện tương tự như hướng dẫn cài đặt HocVPS Script.

2. Cài đặt Zend Opcache

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.

HocvPS Script đã 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 HocVPS 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

VPS-Memcached-WP-Site-Speed

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="64"
OPTIONS=""

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 (như blog Học VPS do chỉ là WordPress nên dành 64MB RAM cho memcached).

Ở 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.

4. Cấu hình W3 Total Cache

Để đảm bảo mọi thứ hoạt động trơn tru, các bạn hãy sử dụng plugin W3 Total Cache. Bình thường mình vẫn hay sử dụng plugin WP Super Cache vì nó đơn giản, dễ dùng và cũng rất hiệu quả (Canh Me hiện đang dùng). Tuy nhiên khi đã sử dụng đến Memcached, bạn bắt buộc phải chuyển qua W3 Total Cache hoặc WP-FFPC.

W3 Total Cache

Sau khi cài đặt xong plugin, các bạn hãy kích hoạt Page Cache, Database cache và Object Cache sử dụng method là Memcached. Ngoài ra, cũng cần kích hoạt Browser Cache và CDN nếu có thể.

Hãy nhấn vào từng mục để có thể cấu hình chi tiết cụ thể hơn.

Hi vọng, với bài viết này các bạn sẽ có thể tự build được 1 VPS chịu tải tốt. Đừng quên để lại comment bên dưới thông báo kết quả bạn đạt được sau khi thực hiện nhé.

Tagged:

748 Comments

  1. Hải 12 comment

    Mình xài CDN ở CloudFlare thấy cũng ok, xài thêm WP-FFPC thì vù vù, Luân xài CDN ở Amazon giá cả dễ chịu không?

    1. Luân Trần Admin

      Cũng tùy loại site, ví dụ như blog của mình dùng CloudFront mỗi tháng hết max 1$ 🙂

      1. Hải 12 comment

        Mình vừa mới đăng ký thử gói Tier 1 năm free của nó mất 1$, Luân có thể chỉ mình cách sử dụng không, thằng này lạ thật 😀

  2. Huy Trần 1 comment

    Thế sử dụng Zend Opcache vs Memcached song song à bác @Luân, e tưởng chỉ nên dùng 1 trong 2 cái chứ ?

    1. Luân Trần Admin

      Dùng song song nhé. Zend Opcode là opcode cache tăng tốc chủ yếu PHP, còn memcached hỗ trợ cache database rất tốt. Cặp đôi này song kiếm hợp bích thì thôi rồi 😀

    2. leeanhtuan 1 comment

      đù má m cũng bon chen vào đây 🙂 (xin phép bác luân tửi bậy tí :v)

    1. Luân Trần Admin

      Mình thấy nhiều người cài chung bộ này được, bạn dùng đi nhé.

  3. Tuan Nguyễn 6 comment

    1GB Ram 30GB SSD Disk Singapore 1 CentOS 6.4 x64

    Đây là thống số cấu hình VPS của mình ở Digital Ocen. Mình cài zpanel. Không hiểu sao CPU của mình thường xuyên lên đến 99% một cách đột ngột và chết toàn bộ web. Mình phải reset lại VPS mới chạy bình thường….

    1. Luân Trần Admin

      Bạn chạy lệnh top xem process nào đang chiếm nhiều tài nguyên nhân để biết mà xử lý

        1. Luân Trần Admin

          Nhìn cái này quá khó rồi.
          Mình chỉ có thể đưa ra suggestion là hãy disable tất cả những cái ko cần dùng trong zpanel, và tạo thêm swap cho VPS.

  4. d500 1 comment

    Xài HocVPS Script thấy rất tốt, chiếm rất ít ram và hdd vps, chịu khó config tí là ngon, tiết kiệm được nhiều moni akkaakka

  5. Thanh quang 14 comment

    sao mình vào cài xong site chạy ngon lành cành đào nhưng vào wp-admin báo lỗi sau

    403 Forbidden

    nginx

    Hướng dẫn mình fix lỗi này với

    1. Luân Trần Admin

      Bạn check lại nội dung folder wp-admin này xem sao, có thể do bản WP này lỗi rồi

  6. Du 22 comment

    Luân cho hỏi mình dùng WP-FFPC nhưng khi update phiên bản mới thì bị lỗi. Chuyển sang W3 Total Cache thì chậm đi hẳn 1 nửa. Không biết nguyên nhân do cấu hình hay vấn đề gì mong Luân giúp đỡ 😀
    Cảm ơn hocvps rất nhiều

    1. Luân Trần Admin

      Mình nghĩ do cấu hình thôi, blog này đang dùng W3 Total Cache mang lại kết quả rất tốt. Bạn có thể view-source, xem đoạn cấu hình cuối cùng để so sánh xem?

      1. Du 22 comment

        Bạn có thể giúp mình chụp lai cái ảnh cấu hình ko. Mình ko phải dân chuyên code nên đọc cũng tù mù. Cảm ơn hocvps

        1. Luân Trần Admin

          Trong phần Page Cache, Database cache và Object Cache bạn hãy lựa chọn sử dụng method là Memcached là xong nhé

          1. Du 22 comment

            Hôm trước xài cái WP-FFPC tít cực ấy ạ. ko hiểu sao update lại lỗi . Thôi em dùng tạm cái này vậy . rồi tìm cách khắc phục sao. Cảm ơn hocvps và Luân Trần rất nhiều ạ

  7. Trang Phu Nu 7 comment

    Hi A Luân,

    VPS Vultr dùng một thời gian thì chẳng hiểu sao BW tăng đột ngột, có ngày tăng gần 2TB BW mà site online ngày được 3 đến 4k traffic. Kiểm tra thì cũng không rõ biểu hiện của DDOS, gửi mail cho họ hỏi là mấy server bên US có chống ddos không thì họ bảo không, hỏi tại sao BW tăng đột ngột như vậy thì họ cũng không trả lời cứ thế là trừ tiền BW. Thấy thất vọng vultr 🙁

    1. Luân Trần Admin

      Cái này khó bạn ạ, support họ không kiểm tra được là tại sao lại tốn băng thông đâu

  8. Du 22 comment

    Bác Luân cho hỏi hocvps có update gì không mà sao trước em chạy được cỡ 250 online mà cpu chỉ khoảng 50 %
    Mà giờ có chưa được 200 online mà cpu đã bị max. Không biết có bác nào có cùng bị như này không ak, Mong admin chỉ giáo ạ !

    1. Đặng Tiến Thịnh 21 comment

      site bạn có thêm nhiều ảnh, nhiều java script gì trong disk để cho site chạy không??? có thể giờ site bạn có nhiều ảnh, nhiều script hơn nên nó load tốn tài nguyên hơn là phải thôi 🙂

  9. Triều 9 comment

    Nhiều bước quá =.= Bác Luân tích hợp vào HocVps luôn mấy cái đó để bấm phát tự động cài zen, mem, pagespeed luôn cho tiện ạ ~.~

  10. Thanh quang 14 comment

    Mấy bữa nay không hiểu sao cái service nginx chạy lúc nào cũng 100% cpu, chỉ mình khắc phục tình trạng này được không. VPS hay treo quá, mặc dù onl cùng 1 lúc chỉ khoảng 100 người thôi

    1. Luân Trần Admin

      Bạn đã cài đặt Zend + memcache chưa? Nếu cài rồi thì cần check nguyên nhân ở đâu thì mình tìm giải pháp cho nhé.

  11. Thanh quang 14 comment

    Mình đã cài đầy đủ zend + memcache. bạn check nguyên nhân giúp mình, có skype không để mình pm cho tiện

Comment của bạn

Your email address will not be published. Required fields are marked *