Địa phương hóa tắc nghẽn hiệu năng

Một phần của tài liệu Kiểm thử hiệu năng và thử nghiệm trên các ứng dụng triển khai cho doanh nghiệp (Trang 53 - 57)

5. Kết thúc (Finish):

2.3.1 Địa phương hóa tắc nghẽn hiệu năng

Giống như các ứng dụng client-server, hệ thống SAP gồm có ba tầng: client (SAP GUI), máy chủ ứng dụng, máy chủ dữ liệu. Mỗi tầng có thể có các nguyên nhân gây ra thời gian phản hồi lâu, chúng ta lần lượt xác định nguyên nhân dựa vào các bước sau [10]:

2. 1.

3.

3. Load Injector (Client)

Máy chủ ứng dụng

Máy chủ cơ sở dữ liệu

Xác định các lỗi sử dụng bởi các Load Injector

Phân tích máy chủ ứng dụng

Phân tích máy chủ cơ sở dữ liệu STAD

Hình 2. 4 Mô hình client - server

Phân tích tách tải (Analyzing the Load Injector)

Đầu tiên, xác định loại trừ các tách tải được xem là nguồn gốc của vấn đề. Ban đầu mỗi quy trình cuối cùng chỉ theo yêu cầu duy nhất của người dùng, SAP GUI chịu trách nhiệm về các vấn đề hiệu năng trong tất cả các trường hợp. Tuy nhiên, các bài kiểm thử tách tải thay vì thực sự kết thúc, những tải này xử lý một số trường hợp trên SAP GUI đồng thời. Để đảm bảo thực hiện đúng các bài kiểm thử hiệu năng, ta phải chắc chắn rằng các tách tải được xác định sẽ không gây ra vấn đề

52

nút cổ chai của hiệu năng. Vì lý do này trước tiên ta nên kiểm tra việc hoạt động của các thiết bị được sử dụng để làm tách tải.

Nếu ta có thể loại trừ các lỗi có nguồn gốc từ tách tải, ta nên thực hiện bước tiếp theo để xác định xem thời gian phản hồi chủ yếu được sử dụng tại máy chủ ứng dụng hay máy chủ cơ sở dữ liệu. Cách hiệu quả nhất để thực hiện điều này là sử dụng giao dịch STAD. Giao dịch này cho phép ta phân tích thời gian phản hồi của một giao dịch bằng cách xem xét giữa thời gian phản hồi của cơ sở dữ liệu và thời gian xử lý. Nếu thời gian phản hồi của cơ sở dữ liệu vượt quá giới hạn chấp nhận, ta nên tiếp tục với việc phân tích cơ sở dữ liệu. Ngược lại, ta có thể loại trừ máy chủ cơ sở dữ liệu là nguyên nhân gây ra hạn chế về hiệu năng. Bước tiếp theo bao gồm việc phân tích máy chủ ứng dụng.

Phân tích máy chủ cơ sở dữ liệu (Analyze Database Server).

Nếu đã xác định được máy chủ cơ sở dữ liệu là yếu tố gây ra các hạn chế về hiệu năng, ta có thể sử dụng thêm một số các lựa chọn cho việc chuẩn đoán:

Đầu tiên sử dụng màn hình ST04, nếu có thể thì dùng thêm ST06 để kiểm tra hoạt động của phần cứng máy chủ cơ sở dữ liệu xem có bị quá tải hay không.

Giao dịch ST06 cung cấp bổ sung lịch sử sử dụng cho phép ta phân tích hoạt động trong nhiều ngày. Ta có thể sử dụng SM66 để tìm hiểu xem chỉ có một giao dịch hay tất cả các giao dịch trong hồ sơ tải được xác định là bị ảnh hưởng [10]. Điều này cho ta được ma trận quyết định sau:

Sự quan sát

Dấu hiệu

Máy chủ cơ sở dữ liệu quá tải Máy chủ cơ sở dữ liệu không quá tải

Chỉ một giao

dịch bị ảnh

hưởng

Giả thuyết: chương trình SQL không hiệu quả hoặc quá phức tạp => tham khảo ý kiến của người

Giả thuyết: có vấn đề với DB, các chỉ số, hoặc vấn đề IO => tham khảo ý kiến của

53

lập trình SQL chuyên gia cơ sở dữ liệu

Tất cả các giao

dịch bị ảnh

hưởng

Giả thuyết: có vấn đề về phần cứng của máy chủ dữ liệu => tham khảo ý kiến của chuyên gia BASIS

Giả thuyết: có vấn đề về I/O hoặc lỗi cấu hình của máy chủ cơ sở dữ liệu => tham khảo ý kiến của chuyên gia cơ sở dữ liệu

Bảng 2. 3 Ma trận quyết định kết quả phân tích máy chủ cơ sở dữ liệu.

Ma trận mô tả này có chứ các nguyên nhân điển hình và các khuyến nghị liên quan để thực hiện các hành động phù hợp.

Mặc dù ma trận này không cung cấp đủ thông tin để xác định nguyên nhân của vấn đề, thậm chí loại bỏ vấn đề đó hoàn toàn, nhưng nó thường là đủ dùng để xác định đúng người để liên hệ khi có vấn đề xảy ra.

Phân tích máy chủ ứng dụng (Analyze Application Server).

Các phân tích máy chủ ứng dụng nên bắt đầu với một kiểm tra cho tình trạng quá tải có thể có của máy chủ ứng dụng. Để làm điều này, ta sử dụng ST06 giám sát hoạt động hệ thống. Tiếp theo ta nên tìm hiểu xem thời gian phản hồi lâu có phải là do hệ thống. Sử dụng SM66 để thực hiện điều này [10].

Nếu sử dụng màn hình giám sát hoạt động hệ thống ST06 và xác định được do các máy chủ ứng dụng bị quá tải: CPU hoạt động nhiều hoặc không đủ bộ nhớ, nếu vấn đề chỉ liên quan đến một giao dịch, nó rất có khả năng giao dịch này được lập trình không tối ưu. Trong trường hợp này các ảnh hưởng có thể sẽ chiếm thời gian nhiều nhất của thời gian CPU hoặc bộ nhớ bị chiếm dụng. Tuy nhiên, hệ thống thường hoạt động với nhiều giao dịch được thực hiện, ta có thể xử lý trường hợp này bằng cách tăng thêm phần cứng cho các máy chủ ứng dụng. Liên hệ với nhân viên SAP Basis và các thành viên của đội quản lý dự án để đưa ra và thảo luận thêm

54

về việc nâng cấp phần cứng. Nếu các phân tích sử dụng ST06 không chỉ ra bất kỳ tình trạng hệ điều hành quá tải của các máy chủ ứng dụng thì bước tiếp theo được thực hiện sẽ phức tạp hơn. Nếu chỉ có một giao dịch có thời gian phản hồi lâu, nó có thể là chìa khóa của nguyên nhân vấn đề. Để kiểm chứng vấn đề này, ta sử dụng SM12. Nếu kết quả giả định là chính xác, liên hệ với nhóm lập trình.

Sự quan sát

Dấu hiệu Máy chủ cơ sở dữ liệu

quá tải

Máy chủ cơ sở dữ liệu không quá tải

Chỉ một giao dịch bị ảnh hưởng

Giả thuyết: chương trình ABAP không hiệu quả => nhờ tư vấn của người lập trình ABAP Giả thuyết: có vấn đề về các khóa hàng đợi -> nhờ sự tư vấn của bộ phận phát triển Tất cả các giao dịch bị ảnh hưởng Giả thuyết: có vấn đề về phần cứng của máy chủ ứng dụng -> nhờ sự tư vấn của nhân viên BASIS

Có khả năng nhiều vấn đề xảy ra, ví dụ: vấn đề về mạng, các khóa, cấu hình sai, … -> xác định thêm các nguyên nhân, trên cơ sở các nguyên nhân đấy tham khảo ý kiến nhân viên BASIS và IT.

Bảng 2. 4 Ma trận quyết định kết quả phân tích máy chủ ứng dụng.

Nếu hiệu năng của tất cả các giao dịch trong hồ sơ tải là không đạt yêu cầu như trong hồ sơ tải, có thể có nhiều nguyên nhân khác nhau gây ra, ta nên kiểm tra một cách tuần tự lại.

55

Ta có thể sử dụng các công cụ phân tích mạng thích hợp hoặc giảm băng thông mạng để kiểm chứng tình trạng quá tải của mạng. Khi thực hiện điều này, nên tham khảo ý kiến từ nhóm SAP Basic.

Khi cấu hình cho một số quy trình làm việc quá thấp không đáp ứng được yêu cầu, điều này thường gây ra tình trạng xếp hàng chờ đợi việc điều phối thực hiện các giao dịch. Điều này có thể được kiểm tra bằng cách sử dụng giao dịch SM51. Một nguyên nhân khác có thể là không xác định chính xác được kích thước của bộ nhớ đệm cho hệ thống SAP. Sử dụng ST02 để kiểm tra bộ nhớ đệm. Nếu còn nghi ngờ về nguyên nhân của sự việc là do cấu hình của máy chủ ứng dụng, ta nên tham khảo ý kiến từ nhóm SAP Basis.

Một phần của tài liệu Kiểm thử hiệu năng và thử nghiệm trên các ứng dụng triển khai cho doanh nghiệp (Trang 53 - 57)

Tải bản đầy đủ (PDF)

(92 trang)