>  기사  >  Java  >  Alibaba Cloud ARMS는 실제로 Java 애플리케이션의 고착 문제를 진단합니다.

Alibaba Cloud ARMS는 실제로 Java 애플리케이션의 고착 문제를 진단합니다.

php是最好的语言
php是最好的语言원래의
2018-08-09 16:55:071625검색

Alibaba Cloud ARMS는 실제로 Java 애플리케이션의 고착 문제를 진단합니다.

당황하지 마세요 이건 사진일 뿐입니다

404를 제외하면 이 사진이 네티즌들을 가장 당황하게 할지도 모릅니다 .

네티즌 여러분께서 "알리바바 미들웨어" 공개 계정 백그라운드에 메시지를 남겨주시고, 글, 사진, 음성에 국한되지 않고 인터넷에서 보는 가슴 아픈 소식을 보내주시면 아마 추천해 드릴 것 같습니다. "인터넷 혼잡 수집" 문제.

관련 연구에 따르면 페이지 로딩 시간이 1초에서 3초로 증가하면 이탈 확률이 약 30% 증가한다고 합니다. 1~5초의 확률은 90%로 증가합니다. 웹 사이트를 로드하는 데 10초가 걸리면 이탈 확률은 120%를 초과합니다. (여기서 120%는 10명이 오고 12명이 떠난다는 의미가 아니라 사용자 이탈 증가율을 의미합니다.) 따라서 "사용자 경험이 왕"인 이 시대에는 애플리케이션 성능 모니터링이 운영 및 운영의 최우선 순위가 되었습니다. 유지 관리.

1. '느림'의 원인을 찾아보세요.

웹사이트 지연과 느린 페이지 로딩은 인터넷 애플리케이션의 일반적인 문제 중 하나입니다. 이러한 문제를 해결하는 것은 쉽지 않으며 운영 및 유지 관리 담당자에게 많은 시간과 에너지가 소요됩니다. 보통 세 가지 이유가 있습니다:

» 신청 링크가 너무 길어 시작할 방법이 없습니다.

프런트엔드 페이지에서 백엔드 게이트웨이까지, 웹 애플리케이션 서버에서 백엔드 데이터베이스까지, 모든 링크에 문제가 있으면 전체 요청이 중단될 수 있습니다. 리소스 로딩 종료가 너무 느리나요? 아니면 데이터베이스에 문제가 있는 걸까요? 아니면 새로 출시된 서버 코드에 성능 문제가 있는 걸까요? 다양한 이유로 문제가 발생할 수 있습니다.

"마이크로서비스" 아키텍처를 사용하는 애플리케이션에는 더 복잡한 링크가 있습니다. 서로 다른 팀과 직원이 서로 다른 구성 요소를 유지 관리할 수 있으므로 문제 해결이 더 어려워집니다.

» 로그가 불완전하거나 품질이 좋지 않고 장면이 누락되었습니다.

애플리케이션 로그는 의심할 바 없이 온라인 문제를 해결하기 위한 아티팩트이지만, 문제가 발생한 위치를 예측할 수 없는 경우가 많습니다. 모든 로그 정보를 찾을 수 없기 때문입니다. 문제가 발생할 수 있습니다.

"느린"의 정의는 주관적이며, "느린"은 때로는 우연한 현상이기도 합니다. "느린" 코드 줄을 실제로 캡처하려면 모든 호출을 기록하고 모든 코드 줄을 놓치지 않아야 하는 경우가 많지만 이 방법은 비용이 너무 많이 듭니다.

» 모니터링이 부족하고 문제가 발생하면 너무 늦습니다.

신속한 비즈니스 개발과 빨라진 반복 속도는 비즈니스 시스템의 잦은 인터페이스 수정, 종속성 증가, 코드 품질 저하로 이어질 것입니다. 애플리케이션의 각 인터페이스 성능을 완전히 자동으로 모니터링하고 문제가 있는 통화를 자동으로 녹음할 수 있는 완전한 모니터링 시스템이 없다면 사용자 피드백을 받은 후 문제를 해결하기에는 너무 늦을 것입니다.

2. "느린" 문제를 1분 안에 찾는 방법

비즈니스 실시간 모니터링 서비스 ARMS(Application Real-Time Monitoring Service)는 Alibaba Cloud 애플리케이션 성능 관리입니다. (APM)급 풀링크 모니터링 제품입니다. ARMS는 Java 애플리케이션 모니터링 및 진단, 차량 인터넷 실시간 모니터링, 소매 업계 실시간 모니터링, 사용자 경험 모니터링 및 프런트 엔드 모니터링, 애플리케이션 모니터링 및 사용자 정의 모니터링 기능을 포함한 기타 시나리오에 대한 전체 모니터링 기능을 제공합니다. 실시간 비즈니스 모니터링 기능을 빠르게 구축하세요.

1단계: Java 프로브 설치(애플리케이션이 EDAS에서 호스팅되는 경우 이 단계를 건너뛸 수도 있음)

• ARMS를 활성화하고 응용 프로그램을 만듭니다.

• Java 프로브 패키지를 다운로드하고 압축을 풉니다.

• Java 애플리케이션 시작 스크립트에 -javaagent:/{user.workspace}/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar-Darms.licenseKey=xxx -Darms.appId=를 추가합니다. xxx (페이지에 할당된 정보에 따라 appId 및 LicenseKey가 채워짐)

• ARMS 페이지를 열면 데이터가 보고되기 시작하고 Java 프로브가 성공적으로 설치되었는지 확인합니다.

Alibaba Cloud ARMS는 실제로 Java 애플리케이션의 고착 문제를 진단합니다.

2단계: 앱 개요에서 '느린' 의심스러운 단서 찾기

Enter ARMS 애플리케이션 토폴로지 다이어그램. 애플리케이션 개요에서 현재 시스템에 "느린 SQL"이 5번이나 있다는 것을 분명히 볼 수 있습니다.

Alibaba Cloud ARMS는 실제로 Java 애플리케이션의 고착 문제를 진단합니다.

3단계: "느린 인터페이스" 탐색 및 발견

클릭 인터페이스 목록을 통해 이 애플리케이션에서 제공하는 모든 인터페이스와 이 인터페이스의 호출 수 및 시간 소비를 한 눈에 볼 수 있습니다. 물론 이러한 인터페이스는 아무런 구성 없이 프로그램의 ARMS 프로브에 의해 자동으로 검색됩니다.

이러한 인터페이스 중에서 "느린" 인터페이스가 명확하게 표시됩니다. 우리는 의심스러울 정도로 느린 인터페이스를 분명히 발견했습니다.

왼쪽에서 호출이 가장 많은 "느린" 인터페이스를 선택하면 오른쪽에서 이 호출이 데이터베이스 호출에서 확실히 "느리게" 표시되는 것을 볼 수 있습니다.

Alibaba Cloud ARMS는 실제로 Java 애플리케이션의 고착 문제를 진단합니다.

4단계: “느린 코드 줄은 무엇입니까?” 클릭 한 번으로 원인을 찾아보세요!

• 인터페이스에 걸리는 시간을 보는 것만으로는 충분하지 않습니다. "느림"이 나타나는 코드 줄을 정확하게 찾아야 합니다.

• 이 인터페이스에 해당하는 모든 인터페이스의 스냅샷을 보려면 "인터페이스 스냅샷"을 클릭하세요. 스냅샷은 통화의 전체 링크 통화에 대한 전체 기록입니다. ARMS 프로브는 성능 손실이 거의 없이 각 호출에 소요된 코드와 시간을 기록하므로 "느린" 문제를 정확히 찾아내는 데 도움이 됩니다.

Alibaba Cloud ARMS는 실제로 Java 애플리케이션의 고착 문제를 진단합니다.

• 특정 통화 스냅샷의 TraceId를 클릭하고 확장하여 이 통화의 특정 "느린" 회선을 확인합니다. 위 그림에서 우리는 705밀리초가 걸린 이 호출에서 대부분의 시간이 "SELECT * FROMl_employee" SQL 호출에 소비되었음을 분명히 알 수 있습니다. 이는 분명히 전체 테이블 스캔 작업입니다.

• 지금까지 시스템의 느린 호출 오류의 근본 원인을 명확하게 발견했습니다. 그리고 코드 최적화 작업의 다음 단계를 안내할 충분한 근거가 있습니다. 또한 호출 인터페이스 목록으로 돌아가서 목록에서 다른 "느린" 호출을 하나씩 열어서 하나씩 해결할 수도 있습니다. 저는 ARMS의 도움으로 귀하의 웹사이트가 멀리 있을 수 있다고 믿습니다. 지연 문제를 해결하고 사용자에게 보다 원활한 경험을 제공합니다.

5단계: 즉시 알림 - 알람 설정

물론 ARMS의 알람 설정에서 특정 인터페이스 또는 모든 인터페이스에 대한 알람을 설정하여 페이지 방문 시 즉시 알림을 받을 수 있습니다. 인터페이스가 멈췄습니다. 운영 및 유지 관리 팀.

Alibaba Cloud ARMS는 실제로 Java 애플리케이션의 고착 문제를 진단합니다.

3. 다른 웹사이트 경험 문제가 있나요?

물론 웹사이트 지연 및 느린 페이지 로딩 외에도 웹사이트에는 백그라운드 오류, 페이지 로딩 실패, 메모리 누수 등 일련의 문제가 있을 것입니다. ARMS를 사용하여 더 많은 웹사이트 문제를 신속하게 해결하는 방법은 ARMS 시리즈 기사인 "일반적인 웹사이트 문제의 1분 위치"에 주목하시기 바랍니다.

관련 권장 사항:

mysql-Alibaba Cloud-RDS-MySQL-5.5 컴퓨팅 문제

Qiniu Cloud의 로봇을 사용하기 때문에 Baidu는 이를 크롤링할 수 없습니다. 진단 결과 로봇이 비활성화된 것으로 표시됩니다. 무엇이 잘못되었나요?

위 내용은 Alibaba Cloud ARMS는 실제로 Java 애플리케이션의 고착 문제를 진단합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.