Datgs' Blog

Quyết chiến quyết thắng !

Archive for the category “Load Balancing”

Content Delivery Network là gì?

Dịch thô “Mạng phân phát nội dung” (CND). Đúng như cái tên của nó, đây là mạng lưới các máy chủ chứa các nội dung giống nhau, được đặt ở nhiều vị trí khác nhau trên quả đất (mật độ đặt phụ thuộc vào mật độ truy cập của vùng địa lý đó). Mạng phát tán nội dung giúp cho máy khách tìm được thông tin nhanh nhất ở máy chủ gần mình nhất. Và quan trọng hơn cả là giảm được băng thông lên một máy chủ duy nhất (nếu không dùng CDN). Tránh được việc quá tải lên máy chủ trung tâm.

Đây là điều mà tất cả những ai quan tâm đến phát triển dịch vụ trên internet đều phải quan tâm.

Thông thường các mạng sau cần phải có CDN

1. Những website lớn, cung cấp nội dung trên diện rộng (địa lý) và có nhiều người truy cập đồng thời

2. Những mạng truyền hình cáp

3. Repository của các phiên bản Linux (như Ubuntu chẳng hạn). Mỗi quốc gia có một mirror riêng, giúp cho việc tải và cài đặt các phần mềm diễn ra nhanh chóng…

Mercury Load Runner Analysis – Phân tích kết quả load test

Mercury Load Runner Analysis

Updated Jul 14th 2010

0) Quan trọng

Mỗi một báo cáo của load runner cho thấy hệ thống ứng dụng của chúng ta có đáp ứng được một số lượng người dùng nhất định hay không. Nếu tức là ổn. Nếu không có thể dựa vào từng biểu đồ để tìm ra nguyên nhân và khắc phục. Nếu đó là do throughput quá lớn (quá băng thông) thì phải tìm cách tăng băng thông. Nếu response sai khác với hit thì phải xem webserver có hoạt động tốt, code có ổn.

Kết quả load test cho ta cái nhìn về khả năng chịu đựng của hệ thống. Nếu như kết quả cho thấy hệ thống đã quá tải, thì cần phải có những đáp ứng như mở rộng băng thông, tối ưu hóa code, áp dụng load balancing …

1) Biểu đồ running vusers

Là biều đồ thể hiện số lượng người dùng đồng thời truy cập vào ứng dụng theo thời gian.

Đây là biểu đồ mang thông tin đơn giản nhất nhưng lại là tham số quan trọng nhất, bởi vì các kết quả ở biểu đồ khác, đều phải đối chứng với thông tin ở biểu đồ này.

Trong trường hợp biểu đồ ở trên, có thể thấy ngay là ở thời điểm5 phút, có gần 100 người dùng đồng thời. Ở thời điểm 10 phút, có khoảng 50 và 15 phút không có ai. Nhưng từ 20 phút trở đi, số lượng ổn định mức 50 người dùng đồng thời.

2) Biểu đồ hits per second

Là biều đồ về số lượng request/giây tới server theo thời gian.

Trong trường hợp ở trên, ở thời điểm 5 phút, ứng với 100 users đồng thời, có khoảng 40 requests/giây tới server. Thời điểm 10 phút, 50 user có khoảng 30 request đồng thời. Thời điểm 15 phút, 0 users hầu như không có request nào. Sau đó thời điểm 20 phút, tuy có 50 user nhưng cũng không có requests nao (có thể là do vuser của bạn không có hành động nào tiếp theo).

3) Biểu đồ lưu lượng

Là biểu đồ lượng dữ liệu trao đổi với server theo thời gian.

Ở trên, có thể thấy ứng với 100 users (5 phút) là 250000  bytes/s, 50 user là khoảng 200000 bytes/s, 0 user là ~0 bytes.

Biều đồ lưu lượng giúp chúng ta tính toán được băng thông cần thiết để đáp ứng được số người dùng đồng thời.

4) Biểu đồ lượng đáp ứng yêu cầu của http

Là biều đồ thể hiện khả năng đáp ứng của webserver với số lượng người dùng tương ứng.

Biểu đồ này mà giống với biều đồ hits per second thì hệ thống của bạn vẫn đáp ứng được lượng người dùng. Ngược lại, tức là server đã quá tải, cần phải sử dụng tới các giải pháp tối ưu hóa code, hoặc chia tải (load balancing).

5) Biều đồ thời gian tiếp trung bình giữa server với client

Là biểu đồ thể hiện thời gian trung bình của các action (hành động của vuser, tên, số lượng action là do chúng ta định nghĩa khi tạo vuser).

Ví dụ ở biểu đồ trên, ta có thể thấy thời gian trung bình của hành động login là 74 giây / 100 users, tức là mỗi user mất khoảng 0.7 giây cho quá trình login.

Đây là con số chấp nhận được. Còn nếu con số này lên khoảng >5 giây cho login thì rõ ràng module login của chúng ta có vấn đề lớn.

6) Biều đồ tóm tắt chung

Là biều đồ tóm tắt về sự thành công/thất bại trong quá trình thực hiện test. Dựa vào tỉ lệ pass/fail mà ta có hình dung về mức độ chấp nhận được hay không của hệ thống.

Như ở biểu đồ này, các transaction fail là rất nhiều. Chứng tỏ hệ thống không thể chịu được tải ở mức 100 người dùng đồng thời (xem ở biểu đồ 1).

Why Load Balancing – Tại sao lại phải cân bằng tải ?

Đơn giản, khi hệ thống của bạn có quá nhiều người sử dụng, một máy chủ đơn lẻ không thể đáp ứng được các yêu cầu của các đối tượng sử dụng. Bạn cần phải chia sẻ công việc của máy chủ hiện tại với một máy chủ khác. Tức là sử dụng cùng một lúc nhiều máy chủ, và việc tải dữ liệu từ máy chủ nào phụ thuộc vào quyết định của bộ cân bằng tải.

Ngoài ra, với các hệ thống đóng vai trò quan trọng với doanh nghiệp, như doanh nghiệp trong ngành ngân hàng chẳng hạn… việc sử dụng hai máy chủ trở lên là điều gần như chắc chắn. Bởi vì, không có gì đảm bảo một chiếc máy hoạt động trơn tru và hoàn hảo mãi. Khi máy này gặp sự cố, máy còn lại phải ngay lập tức làm thay phần việc mà máy bị hỏng đang làm, để không làm gián đoạn hoạt động của doanh nghiệp. Bởi vì, những tổn thất do hệ thống thông tin ngừng hoạt động là cực kỳ to lớn và không thể lường trước được.

Post Navigation

Follow

Get every new post delivered to your Inbox.