8 thuật toán cân bằng tải đẩy nhanh tốc độ hiệu suất (hiệu suất cao hơn) cho máy chủ

1617
09-03-2019
8 thuật toán cân bằng tải đẩy nhanh tốc độ hiệu suất (hiệu suất cao hơn) cho máy chủ

Trong một server web thông thường, bạn có thể sẽ phải đối mặt với một vấn đề đau đầu như "server không thể phản hồi". Đây là thông báo bạn không muốn thấy nhất, đặc biệt là khi bạn đang muốn truy cập vào website.

Lý do xảy ra tình trạng này là bởi máy chủ đã không còn chịu nổi số lượng lớn các yêu cầu vượt quá khả năng phản hồi của máy chủ.

Tình huống này cũng tương tự như khi bạn cố nâng một quả tạ 100 cân, trong khi cơ thể chỉ có khả năng nâng 50 cân mà thôi.

Tình trạng quá tải máy chủ không chỉ xảy ra với các máy chủ web mà còn xảy ra với các máy chủ nội bộ có số lượng người dùng đáng kể. Và đây là một vấn đề thực sự nghiêm trọng đối với các doanh nghiệp và tổ chức lớn.

Tuy nhiên, giờ đây đã có một giải pháp tuyệt vời để giải quyết vấn đề này và đó là cân bằng tải hay load balancing.

Dưới đâyBizfly Cloud sẽ chia sẻ cho bạn một số lý giải cơ bản về cân bằng tải và cách cân bằng tải hoạt động (các thuật toán), để bạn có thể triển khai trên các máy chủ của mình.

Giải nghĩa cơ bản về cân bằng tải

Cân bằng tải là một khái niệm được triển khai để nhằm cải thiện khả năng tổng thể của máy chủ bằng cách phân phối tải trên nhiều máy chủ khác nhau.

Thông thường, các yếu tố như lưu lượng truy cập web, truy cập ứng dụng, cơ sở dữ liệu và những yếu tố tải nặng khác có thể sử dụng phần mềm cân bằng tải để phục vụ người dùng mà không gặp phải bất cứ gián đoạn nào.

Nếu bạn chỉ có một máy chủ duy nhất để chạy tất cả mọi thứ, đến một lúc máy tính sẽ bắt đầu xử lý yêu cầu chậm hoặc sẽ không thể đáp ứng nhiều yêu cầu hơn.

Ví dụ, bạn có một trang web thương mại điện tử uy tín và trang phục vụ rất nhiều người dùng cùng một lúc. Trong những ngày bình thường, máy chủ sẽ đủ để xử lý tất cả các yêu cầu của người dùng. Nhưng không phải mọi ngày đều như nhau. Đôi khi lưu lượng truy cập có thể cao hơn dự kiến rất nhiều. Kết quả là, máy chủ sẽ cố gắng để trả lời tất cả các truy vấn của người dùng và người dùng sẽ phải đối mặt với vấn đề tải chậm.

8 thuật toán cân bằng tải đẩy nhanh tốc độ hiệu suất (hiệu suất cao hơn) cho máy chủ  - Ảnh 1.

Cuối cùng, máy chủ sẽ không chấp nhận bất kỳ yêu cầu nào nữa, người dùng không thể truy cập web và không quay trở lại. Doanh số và doanh thu sẽ bị ảnh hưởng, thậm chí là trầm trọng. Không ai muốn đối mặt với những vấn đề như vậy. Trong trường hợp đó, một bộ cân bằng tải load balancer chính là giải pháp tốt nhất cho vấn đề.

Để thực hiện cân bằng tải, bạn cần một load balancer và ít nhất một máy chủ bổ sung. Load balancer sẽ quyết định, server nào cần phải gửi yêu cầu để được xử lý. Cân bằng tải chọn máy chủ để chuyển tiếp lưu lượng dựa trên hai yếu tố.

1. Khả năng của máy chủ

2. Điều kiện xác định

Tình trạng của máy chủ có thể được xác định bằng cách liên tục kiểm tra để xem hệ thống có thể gửi phản hồi hay không bằng cách gửi yêu cầu đến nó từ bộ cân bằng tải. Nếu không có phản hồi từ máy chủ, bộ cân bằng tải sẽ chuyển sang máy chủ khác.

Các điều kiện xác định chính là các thuật toán sử dụng các điều kiện khác nhau để chọn một máy chủ. Dưới đây là thuật toán cân bằng tải được sử dụng thường xuyên, có hiệu quả trong việc xử lý tải. Kỹ thuật cân bằng tải là khác nhau dựa trên yêu cầu.

8 thuật toán cân bằng tải đẩy nhanh tốc độ hiệu suất (hiệu suất cao hơn) cho máy chủ  - Ảnh 2.

Các thuật toán cân bằng tải cơ bản

Các thuật toán cân bằng tải: Kết nối tối thiểu

Thuật toán này là thuật toán mặc định cho cân bằng tải. Thuật toán sẽ chọn máy chủ có số lượng giao dịch hoạt động ít nhất. Ví dụ, một bộ cân bằng tải có bốn máy chủ được kết nối và mỗi máy chủ có các giao dịch hoạt động như được mô tả dưới đây.

Máy chủ 1 - 9 giao dịch đang hoạt động

Máy chủ 2 - 4 giao dịch đang hoạt động

Máy chủ 3 - 11 giao dịch đang hoạt động

Máy chủ 4 - 6 giao dịch đang hoạt động

Tại đây, các load balancer sẽ liên tục theo dõi các giao dịch và cập nhật các hồ sơ. Server 2 sẽ được Load Balancer chọn vì nó có số lượng giao dịch hoạt động ít nhất.

Thuật toán cân bằng tải kết nối tối thiểu phân phối công việc trên máy chủ và đảm bảo rằng không có máy chủ nào bị quá tải. Ngoài ra, đảm bảo rằng không có máy chủ nào ở chế độ rảnh.

Thuật toán cân bằng tải: Thuật toán Round Robin

Thuật toán Round Robin có danh sách các máy chủ và chuyển tiếp từng yêu cầu đến từng máy chủ từ danh sách theo thứ tự. Khi đến được máy chủ cuối cùng, vòng lặp lại quay trở về máy chủ đầu tiên và bắt đầu lại từ đầu. Ở đây, các thuật toán cân bằng tải chạy trong các hệ thống phân tán, nó được phân phối đều cho tất cả các máy chủ. Có 2 loại trong round robin. Một trong số đó là Round Robin có trọng số.

8 thuật toán cân bằng tải đẩy nhanh tốc độ hiệu suất (hiệu suất cao hơn) cho máy chủ  - Ảnh 4.

Trong thuật toán cân bằng tải round robin có trọng số, mỗi máy chủ được phân bổ trọng số dựa trên cấu hình và khả năng xử lý yêu cầu.

Ví dụ, một máy chủ có trọng số là 5 và máy chủ khác có trọng số là 2 và nếu bộ cân bằng tải nhận được 5 yêu cầu cùng một lúc, nó sẽ gửi tất cả 5 yêu cầu đến máy chủ có trọng số 5. Nếu bộ cân bằng tải nhận được 2 yêu cầu, nó sẽ chuyển tiếp yêu cầu đến máy chủ có trọng số là 3.

Thuật toán cân bằng tải: Round Robin động

Với thuật toán này, tất cả các trọng số máy chủ sẽ được tính theo thời gian thực. Dựa vào đó, bộ cân bằng tải chuyển tiếp các yêu cầu đến máy chủ liên quan. Cập nhật thời gian thực bao gồm tải trọng của máy chủ và số dung lượng nhàn rỗi.

Thuật toán cân bằng tải: Thời gian phản hồi ngắn nhất

Khi sử dụng thuật toán cân bằng tải này, load balancer sẽ chọn máy chủ có thời gian phản hồi ngắn nhất, có nghĩa là máy chủ có tốc độ phản hồi nhanh hơn bất kỳ máy chủ nào khác sẽ được load balancer chọn để xử lý các yêu cầu. Nhờ vậy, người dùng cuối sẽ nhận được phản hồi ngay lập tức.

Thuật toán cân bằng tải: Xác định băng thông tối thiểu

Thuật toán Cân bằng tải này quyết định lựa chọn máy chủ dựa trên lượng băng thông mà nó tiêu thụ trong 14 giây qua. Load balancer sẽ chọn máy chủ tiêu thụ ít băng thông nhất trong khoảng thời gian 14 giây đó để xử lý các yêu cầu.

Giả sử có bốn máy chủ được kết nối với bộ cân bằng tải và mỗi máy chủ đều xử lý cùng một số lượng yêu cầu. Bây giờ, bộ cân bằng tải sẽ chọn máy chủ dựa trên Megabits mỗi giây mà nó tiêu thụ. Các giả định băng thông máy chủ trong 14 giây cuối cùng được đề cập dưới đây (ví dụ).

Máy chủ 1 - 2 Mb / giây

Máy chủ 2 - 6 Mb / giây

Máy chủ 3 - 3 Mb / giây

Máy chủ 4 - 9 Mb / giây

Ở đây, máy chủ tiêu thụ ít băng thông nhất là Máy chủ 1.

Thuật toán cân bằng tải: Xác định packets tối thiểu

Thuật toán cân bằng tải theo phương thức packet tối thiểu tương tự như phương pháp băng thông tối thiểu, nhưng ở đây, LB chọn các máy chủ dựa trên các packet mà chúng truyền trong 14 giây qua.

Máy chủ truyền các packet tối thiểu sẽ nhận được các yêu cầu mới được chuyển tiếp từ LB. Ở đây số lượng packet bao gồm các gói nhận và gửi.

Thuật toán cân bằng tải: Phương pháp tải tùy chỉnh

Thuật toán chọn các máy chủ dựa trên tải trọng. Phương pháp này chọn các tài nguyên ít tải trọng hơn. Ở đây, tải trọng được tính dựa trên mức độ sử dụng, khả năng phản hồi, thời gian và bộ nhớ của CPU. Trình giám sát sẽ đánh giá tải trọng của máy chủ. Thuật toán này là một cách hiệu quả để thiết lập việc sử dụng tài nguyên. Đây là các thuật toán cân bằng tải quan trọng được sử dụng trong các load balancer giúp phân phối tải trên các máy chủ và đảm bảo dịch vụ diễn ra thông suốt.

Theo BizFly Cloud

Kể từ ngày 05/11/2018, VCCloud chính thức đổi tên thành BizFly Cloud - là nhà cung cấp các dịch vụ đám mây hàng đầu tại Việt Nam hiện nay với các dịch vụ nổi bật như: BizFly Cloud Server, BizFly CDN, BizFly Load Balancer, BizFly Pre-built Application, BizFly Business Mail, BizFly Simple Storage. Hãy tăng tốc thích nghi cho doanh nghiệp cùng các giải pháp công nghệ của BizFly Cloud tại đây.
SHARE