Bảo vệ và giảm tải cho server

Bài viết tổng quan của mình về tối ưu tốc độ cho server đã nhận được khá nhiều sự quan tâm từ mọi người. Việc đó đã có nhiều công đoạn, tuy nhiên trong quá trình vận hành một website, chúng ta sẽ gặp một số tình huống khiến cho server phải vận động nhiều hơn, hoặc hoạt động một cách bất thường. Ví dụ:

  • Có nhiều client tương tác cùng lúc với server.
    • Có những client chỉ giới hạn tương tác với các chức năng được website đưa ra, cùng với những loại thông tin đầu vào được chức năng đó mong đợi để xử lý. Đó là những yêu cầu bình thường. Đối với các yêu cầu như vậy, ban đầu cần tối ưu lại server (và cả mã nguồn).
    • Nhưng cũng không thiếu những client gửi những yêu cầu chứa thông tin mà chức năng đó của website không mong đợi được nhận, đó là những yêu cầu bất thường.
  • Có một client bị thâu tóm và điều khiển bởi một người hoặc tổ chức nào đó, gửi đến server một loại yêu cầu bất thường khác. Nó có thể không chứa thông tin gì đặc biệt, nhưng được gửi liên tục với tốc độ cao, khiến server nằm trong trạng thái bận trong một thời gian dài, không thể đáp ứng yêu cầu từ các client khác. Loại yêu cầu đó là tấn công từ chối dịch vụ (denial of service – DoS). Mở rộng hơn là tấn công từ chối dịch vụ phân tán (distributed denial of service – DDoS), được thực hiện bởi nhiều client khác nhau.
  • Có nhiều client đến từ nhiều quốc gia khác nhau, có vẻ quan tâm đến nội dung của website. Điều này có thể xảy ra nếu website có nhiều thứ tiếng, hoặc khi một trang được chia sẻ tại một cộng đồng sử dụng ngôn ngữ khác.

Trong những hoàn cảnh như vậy, chúng ta cần đến những giải pháp bảo vệ cho server, góp phần làm cho server bớt phải tải nặng đi. Ngoài ra mình cũng giới thiệu sâu hơn về một số cách khác cũng trực tiếp giảm tải nhưng lại không bảo vệ cho server.

Tiếp tục đọc

Cài đặt một web server tối ưu về tốc độ

Thời gian qua mình đã viết một số bài căn bản về phần mềm server OpenLiteSpeed. Tất cả chỗ đó mới chỉ là phần đầu tiên của quá trình mình di dời từ dịch vụ hosting miễn phí sang server riêng mà thôi.

Nhưng sau khi trải qua được phần đầu tiên ấy, mọi chuyện trở nên rất đơn giản với mình: Cài đặt MariaDB, di chuyển WordPress cùng với database (cơ sở dữ liệu), thiết lập lại các plugin cache và bảo vệ cho WordPress. Thế là xong, các bạn đã và đang chứng kiến blog Noisy Stream này được phục vụ bởi OpenLiteSpeed.

Gần đây mình bổ sung thêm hai thứ: Một là Redis làm cache cho database, hai là CDN làm chuyển bớt việc phục vụ nội dung từ server ra ngoài. Và mình cũng đã sử dụng công cụ MySQLTuner với khả năng đưa ra các gợi ý tinh chỉnh MySQL/MariaDB.

Toàn bộ các việc trên là một thử nghiệm rất hay trong quá trình cài đặt một web server chạy nhanh.

Tiếp tục đọc