13
Phần 6: Chạy Load Test Khi bạn chạy một load test, LoadRunner generates a load trên hệ thống. You can sau đó use LoadRunner’s monitors và graphs cho phép quan sát thực thi của hệ thống dưới chế độ load. Trong phần này chúng ta sẽ tìm hiểu các phần sau - Nhìn tổng quát Controller Run. - Làm cách nào để chúng ta chạy load test scenario? - Làm cách nào để chúng ta giám sát ứng dụng dưới tải? - Làm cách nào để chúng ta theo dõi một user đang chạy theo thời gian thực? - Chúng ta có thể xem bản tóm tắt các hành động của user ở đâu? - Làm cách nào để chúng ta có thể tăng tải trong quá trình đang test? - Làm cách nào để ứng dụng đối phó dưới tải? - Ứng dụng có đếm lỗi trong quá trình test không? - Làm cách nào để chúng ta biết quá trình test đã kết thúc? - Ứng dụng có thực thi tốt dưới tải không? Tổng quát về Controller Run Thẻ Run trong màn hình Controller là trung tâm điểu khiển mà từ đó kiểm soát và quản lý quá trình test. Run view chứa năm thành phần chính sau: 1. Scenario Groups 2. Scenario Status 3. Available Graphs 4. Graph Display 5. Graph Legend

Phần 6 Chạy Load Test

Embed Size (px)

Citation preview

Page 1: Phần 6 Chạy Load Test

Ph n ầ 6: Ch yạ Load Test

Khi bạn chạy một load test, LoadRunner generates a load trên hệ thống. You can sau

đó use

LoadRunner’s monitors và graphs cho phép quan sát thực thi của hệ thống dưới chế

độ load.

Trong phần này chúng ta sẽ tìm hiểu các phần sau

- Nhìn tổng quát Controller Run.

- Làm cách nào để chúng ta chạy load test scenario?

- Làm cách nào để chúng ta giám sát ứng dụng dưới tải?

- Làm cách nào để chúng ta theo dõi một user đang chạy theo thời gian thực?

- Chúng ta có thể xem bản tóm tắt các hành động của user ở đâu?

- Làm cách nào để chúng ta có thể tăng tải trong quá trình đang test?

- Làm cách nào để ứng dụng đối phó dưới tải?

- Ứng dụng có đếm lỗi trong quá trình test không?

- Làm cách nào để chúng ta biết quá trình test đã kết thúc?

- Ứng dụng có thực thi tốt dưới tải không?

T ng quát v Controller Runổ ềThẻ Run trong màn hình Controller là trung tâm điểu khiển mà từ đó kiểm soát và

quản lý quá trình test. Run view chứa năm thành phần chính sau:

1. Scenario Groups

2. Scenario Status

3. Available Graphs

4. Graph Display

5. Graph Legend

Page 2: Phần 6 Chạy Load Test

1. Scenario Groups pane. Trong ô bên trái trên, chúng ta có thể nhìn thấy trạng thái

của Vuser trong scenario groups. Cúng ta sử dụng những nút bên phải ô này để bắt

đầu, kết thúc, và reset scenario, để xem từng trạng thái riêng lẻ của từng Vuser, và

tăng tải lên ứng dụng trong suốt scenario bằng cách tăng thêm Vuser. 2. Scenario

Status pane. Trong upper-right pane, you can view asummary of the load test,

including the numberof running Vusers và the status of each Vuseraction.

3. Available Graphs. Trong ô bên trái giữa, chúng ta có thể thấy một danh

sách các biểu đồ LoadRunner. Để mở một biểu đồ, chọn một biểu đồ trong câ

này, và kéo thả (drag) vào vùng xem biểu đồ (graph viewing area)4. Graph Display

Trong ô bên phải giữa, chúng ta có thể tùy chỉnh hiển thị để xem giữa một và tám

biểu đồ (View -> View Graphs)

5. Graph Legend. Trong ô dưới cùng, chúng ta có thể xem dữ liệu từ biểu đồ mà

mình đã chọn.

Làm cách nào đ chúng ta ch y load test scenario?ể ạTrong chương này, chúng ta sẽ khởi động một scenario.

1. Mở Controller Run view.

Chọn thẻ Run tại phía dưới màn hình

Chú ý rằng đang có 8 Vuser trong cột Down của Scenario Groups area. Các Vuser

này được tạo ra khi chúng ta tạo scenario..

Page 3: Phần 6 Chạy Load Test

Lúc scenario chưa chạy thì tất cả các đồng hồ đếm (counter) đang là 0 và tất cả các

biểu đồ trong ku vực graph viewing area (trừ Windows Resources) đều hiển thị trắng.

Khi chúng ta bắt đầu scenario trong bước tiếp theo thì lúc này các biểu đồ và đồng hồ

đếm bắt đầu hiển thị thông tin.

2. Khởi động scenario..

Click vào nút Start Scenario hoặc chọn Scenario -> Start để bắt đầu chạy test.

Nếu chúng ta đang chạy phần hướng dẫn lần đầu tiên, Controller bắt đầu scenario.

File kết quả được tự động lưu vào thư mục tạm được tạo ra.

Nếu chúng ta đang lặp lại quá trình test, chúng ta sẽ được nhắc nhở là có ghi

đè lên file kết quả đã có sẵn không. Nếu click No, từ kết quả của lần chạy load test

đầu tiên sẽ được sử dụng như là cơ sở để so sánh đối chiếu với kết quả của những lần

load test sau.

Hộp thoại Set Results Directory mở ra.

Xác định thư mụcc kết quả mới. Nhập tên duy nhất và đầy đủ ý nghĩa cho mỗi kết quả

test vào ô Results Name, kể từ khi chúng ta có thể muốn thêm vào kết quả vài

scenario chạy khi chúng ta tiến hành phân tích các biểu đồ..

Làm cách nào đ chúng ta giám sát ng d ng d i t i?ể ứ ụ ướ ảChúng ta sử dụng những biểu đồ Controller trực truyến để xem sự thực thi thu

thập dữ liệu bởi các màn hình. Chúng ta sử dụng thông tin này để cô lập những

khu vực có khả năng xảy ra vấn đề (lỗi) trong môi trường hệ thống của

mình.

Page 4: Phần 6 Chạy Load Test

1. Kiểm tra những biểu đồ thực thi (Examine the Performance graphs)..

Mặc định thẻ Run hiển thị các biểu đồ trực tuyến:

a. Running Vusers - Whole Scenario graph. hiển thị số lượng Vuser đang

chạy vào cùng một thời điểm.

b. Transaction Response Time - Whole Scenario graph. thể hiện số lượng

thời gian dành cho mỗi giao dịch đã hoàn thành.

c. Hits per Second - Whole Scenario graph. hiển thị số lượt truy cập (HTTP

requests) yêu cầu cho Web server bởi các Vuser trong mỗi giây của quá trình

scenario chạy.

d. Windows Resources graph. iển thị đều đặn tài nguyên của Windows

(Windows resources) trong suốt quá trình scenario.

2. Đo lường các cá nhân nổi bật. (Highlight individual measurements).

Double-click vào ô biểu đồ Windows Resources để phóng to nó ra. Chú ý là

mỗi thước đo xuấ hiện bằng một dòng mã màu trong bảng chú thích biểu đồ. Mỗi

dòng tương ứng với một đường (line) trong biểu đồ có cùng một màu. Chọn một dòng

nổi bật và đường tương ứng trong biểu đồ và làm ngược lại. Double-click vào biểu đồ

một lần nữa để giảm nó.

3. Xem thông tin throughput.

Chọn biểu đồ Throughput trong cây biểu đồ Available Graphs, và kéo thả nó vào

vùng xem biểu đồ. Các phép đo biểu đồ Throughput được hiển thị trong cửa sổ hiển

thị và trong phần chú thích biểu đồ. Biểu đồ Throughput hiển thị lượng dữ liệu (đều

đặn theo từng byte) mà Vuser nhận được từ máy chủ cho bất kỳ giây nào. Chúng ta so

sánh biểu đồ này với biểu đồ Transaction Response Time sẽ thấy được Throughput

ảnh hưởng đến sự thực thi giao dịch như thế nào. Nếu throughput tăng lên theo thời

gian tiến hành và số lượng Vuser cũng tăng, điều này cho thấy rằng băng thông

(bandwidth) đã được cung cấp đủ. Nếu biểu đồ được duy trì tương đối bằng phẳng, vì

số lượng Vuser tăng thì thật hợp lý khi kết luận rằng băng thông đang ép khối lượng

Page 5: Phần 6 Chạy Load Test

dữ liệu được giao xuống.

Làm cách nào đ chúng ta theo dõi m t user đang ch y theo th i gianể ộ ạ ờ th c? Khi mô ph ng nh ng user, chúng ta sẽ có th nhìn th y các ự ỏ ữ ể ấhành đ ng c a nh ng user o theo th i gian th c và ộ ủ ữ ả ờ ựchắc chắn rằng những user ảo này thực hiện đúng theo các bước của nó. Controller

cho phép chúng ta xem những

hành động trong thời gian thực bằng cách sử dụng run-time viewer.

Để quan sát các hành động của Vuser bằng mắt thì:

1. Trong Controller's Run tab, click the Vusers button. The Vusers dialog box

được mở.

Cột trạng thái hiển thị tình trạng của mỗi Vuser. Chúng ta có thể thấy trong ví dụ ở

trên có 4 Vuser đang ở trạng thái chạy và 4 Vuser đang ở trạng thái Down.

Những Vuser bắt đầu hành động theo lịch chỉ dẫn thì Controller cho bắt đầu từng 2

Vuser một lúc. Lúc scenario đang chạy, cứ mỗi thờ gian chờ 30 giây thì Vuser sẽ tiếp

tục thêm vào nhóm 2 Vuser nữa.

2. Chọn một Vuser đang chạy trong danh sách Vuser.

Page 6: Phần 6 Chạy Load Test

3. Click vào nút Show the selected Vuser hiển thị những Vuser đã chọn) trên

thanh công cụ Vusers. Run-Time Viewer mở ra và hiển thị các hành động đang

được thực thi bởi các Vuser. Màn hình được cập nhật tiến trình của Vuser tất cả các

bước đã ghi trong scenario.

4. Click nút Hide the selected Vusers (Ẩn những Vuser đã chọn) trên thanh công

cụ Vusers để đóng nhật ký Run-Time Viewer.

Chúng ta có thể xem bản tóm tắt các hành động của user ở đâu?

Để kiểm tra tiến trình của một Vuser riêng lẻ nào đó trong quá trình test, chúng ta có

thể xem file nhật ký đang chứa bản ghi tóm tắt những hành động của Vuser đó.

Để xem bản tóm tắt những sự kiện

1. Chọn một Vuser đang chạy trong màn hình Vusers.

2. Click vào nút Show Vuser Log onthe Vusers toolbar. Thì màn hình Vuser log

mở ra.

Nhật ký chứa những lời nhắn tương ứng với những hành động của Vuser. Ví dụ như,

trong cửa sổ trên đây, tin nhắn là “Virtual User Script started” thì nó cho biết là bắt

đầu scenario. Kéo xuống bên dưới nhật ký và xem những tin nhắn mới vừa được thêm

vào cho mỗi hành động của Vuser được chọn.

Ghi chú: nhật ký của Vuser chỉ chứa thông tin nếu mình bật chế độ ghi nhật

ký trong phần Run-Time Settings Log. Đóng cửa sổ nhật ký Vuser và cửa sổ

Vusers.

Page 7: Phần 6 Chạy Load Test

Làm cách nào đ chúng ta có th tăng t i trong quá trình đang test?ể ể ảChúng ta có thể tăng tải trên ứng dụng trong suốt quá trình chạy load test bằng cách

thêm vào những Vuser bằng tay (manual – chứ không phải tự động

1. Để tăng tải trong quá trình chạy load test::

a. Chắc chắn rằng trong Controller, the Run tab được hiển thị

b. Click vào nút Run/Stop Vusers. Hộp thoại Run/Stop Vuser mở ra hiển hiển thị số

lượng Vuser hiện tại được phân công chạy trong scenario.

c Trong cột #, nhập số lượng Vuser mà mình muốn add vào nhóm. Để chạy 2 Vuser

thêm vào, thay thế số 8 trong cột # này bằng 2.

d. Click Run để thêm Vuser.

e. Nếu một vài Vuser chưa được khởi tạo thì chức năng Run Initialized and Run New

mở ra. Chọn tùy chọn Run New.

2 Vuser thêm này được phân phối và nhóm the travel_agent và chạy trên máy tạo tải

localhost. Bây giờ cửa sổ Scenario Status hiển thị tất cả 10 running Vusers.

Ghi chú: Chúng ta có thể nhận được thông báo warning rằng LoadRunner Controller

không thể kích hoạt các Vuser thêm vào. Lý do này thực ra là vì chúng ta sử dụng

máy tính của mình như là máy tạo ra tải và máy cá nhân của mình có

tài nguyên vùng nhớ (RAM) bị giớ hạn (ít). Hầu hết trong các tình huống chúng ta sử

dụng một máy riêng chỉ để làm máy phát tải thì sẽ tránh được lỗi này.

Làm cách nào đ ng d ng đ i phó d i t i?ể ứ ụ ố ướ ảKiểm tra bảng tóm tắt của scenario đang chạy trong cửa sổ Scenario Status, và tìm

hiểu kỹ hơn để thấy các hành động của mà chính nó đã gây ra những lỗi cho ứng

Page 8: Phần 6 Chạy Load Test

dụng. Một tỷ lệ thất bại và lỗi giao dịch rất cao cho thấy rằng các ứng dụng không

thực hiện được như mong muốn dưới tải.

1. Xem trạng thái test.

Cửa sổ trạng thái của Scenario (Scenario status) hiển thị tất cả các trạng thái của

scenario

2. Xem sự thất bại của những hành động của Vuser.

a. Click vào đường link Passed Transactions trong cửa sổ Scenario Status để

xem một danh sách thông tin của các giao dịch. Hộp thoại Transactions mở ra..

b. Click Close để đóng Transactions box.

ng d ng có đ m l i trong quá trình test không?Ứ ụ ế ỗNếu một ứng dụng được bắt đầu thất bại dưới tải nặng (heavy load), chúng ta có thể

gặp những lỗi và những giao dịch thất bại. Controller hiển thị thông báo lỗi trong cửa

sổ Output.

1. Kiểm ta tất cả các thông báo lỗi.

a. Click vào View -> Show Output hoặc click đường link Errors trong cửa sổ

Scenario Status. Hộp thoại Output mở ra và các danh sách thông báo, tổng số

thông báo được tạo ra, Vuser và máy phát tải mà tạo ra tải bị lỗi, và scripts bị

lỗi gián đoạn.

b. Để xem thông tin chi tiết trong thông báo, Chọn thông báo và click vào

Details. Ô chi chiết của thông báo mở ra, hiển thị toàn bộ thông báo. Theo ví

Page 9: Phần 6 Chạy Load Test

dụ dưới đây trình bày lỗi timeout. Web server không hồi đáp được cho một

yêu cầu trong cùng một khoảng thời gian đã định trước.

2. Xem nhật ký thông tin chi tiết.

Chúng ta có thể xem thông tin của mỗi thông báo, Vuser, script, và load generator liên

kết với một mã lỗi bằng một link màu xanh thích hợp. Vì dụ, để xác định nơi mà

script bị lỗi gián đoạn, đi sâu vào trong cột Total Messages. Cửa sổ Output hiển thị

tất cả các thông báo bằng cách chọn mã lỗi, kể cả thời gian, iteration number, và dòng

script nơi lỗi gián đoạn.

3. Đi sâu vào cột Line Number. VuGen mở ra và hiển thị dòng script tại nơi bị lỗi

gián đoạn. Chúng ta có thể sử dụng các thông tin này để định nghĩa những giao dịch

với thời gian hồi đáp lâu là nguyên nhân làm cho ứng dụng bị thất bại dưới tải.

Làm cách nào đ chúng ta bi t quá trình test đã k t thúc? ể ế ếTại kết quả của quá trình chạy test, cửa sổ Scenario Status hiển thị trạng thái

Down. Điều này chỉ cho ta biết là users đã dừng. Chúng ta có thể nhìn vào cửa sổ

Vuser để xem riêng trạng thái của mỗi Vuser.

LoadRunner hiển thị số lần một Vuser lặp lại nhiệm vụ (lặp đi lặp lại - iteration), số

lần lặp lại thành công, và thời gian còn lại.

Page 10: Phần 6 Chạy Load Test

ng d ng có th c thi t t d i t i không?Ứ ụ ự ố ướ ảĐể xem ứng dụng thực thi dưới tải tốt như thế nào, chúng ta cần phải nhìn vào thời

gian hồi đáp cho giao dịch và xác định xem các giao dịch có thể chấp nhận được giới

hạn cho khách hàng. Nếu như thời gian hồi đáp bị giảm xuống thì chúng ta cần tìm

những thắt cổ chai. Chúng ta sẽ học hỏi được nhiều điều trong chương 10, “Analyzing

your scenario” Một khi vấn đề được cô lập, cần một sự nỗ lực vững vàng hơn như

Developer, DBA, network, và những chuyên gia hệ thống khác được yêu cầu khắc

phục thắt cổ chai (bottleneck) này. Sau khi những điều chỉnh được thực hiện, load

test được lặp lại để xác nhận rằng những điều chỉnh này có hiệu quả như mong muốn.

Chúng ta lặp lại chu trình này để tối ưu hóa sự thực thi của hệ thống. Để lưu lạu

những scenario để chúng ta có thể chạy lại nó với những cài đặt tương tự, click vào

File -> Save hoặc click nút Save, và nhập vào tên cho scenario trong ô File name.