AWS burstable EC2 및 CloudWatch 지표
5969 단어 stolencloudwatchec2aws
EC2 t2를 생성했습니다.미실례.CloudWatch에는 다음과 같은 3가지 지표가 나와 있습니다.
나는 32분의 CPU 신용 잔액부터 시작한다.즉, 100% CPU에서 32분 동안 실행할 수 있습니다.내가 CPU를 사용하지 않을 때, 이 포인트는 유지되고 심지어 증가할 것이다.16시 20분에 우리는 프로그램을 시작했는데, 이 프로그램은 CPU
yes > /dev/null
에서 완전히 실행되었다.나는 대략 17:00 이전에 100%의 CPU를 사용한 후에'CPU 이용률(%)'이 20% 안팎으로 떨어졌다. 이것은 t2의 기선이다.소액 신용대출이 다 떨어졌을 때.이 기간 동안 CPU 신용 사용률은 5분마다 수집되므로 CPU 신용 사용률은 5입니다. 100% CPU로 실행되는 5분 동안 신용 사용량은 5분입니다.이 기간 동안, 너는 CPU 신용 잔액이 0으로 떨어지는 것을 보게 될 것이다.나는 17:45에 yes
프로세스를 멈추었다.'CPU 이용률'은 0%였다. 아무것도 실행되지 않았기 때문에'CPU 신용 잔액'은 또 천천히 증가하기 시작했다.이 클라우드 워치의'CPU 이용률'에서 17:05와 17:35 사이에 당신의 CPU 이용률이 20%에 불과하다고 말할 수 없다. 프로세스가 필요하지 않기 때문이냐, 아니면 CPU 부족으로 인해 제한을 받기 때문이냐.그러나 신용 잔액과 사용 상황을 보면서 추측할 수 있다.10분마다 수집되는 기본 SAR 통계를 살펴보겠습니다.
[ec2-user@ip-172-31-42-243 ~]$ sar
04:04:59 PM LINUX RESTART
04:10:01 PM CPU %user %nice %system %iowait %steal %idle
04:20:01 PM all 0.02 0.00 0.02 0.00 0.00 99.95
04:30:01 PM all 45.88 0.00 0.58 0.09 0.01 53.44
04:40:01 PM all 99.02 0.00 0.96 0.00 0.02 0.00
04:50:01 PM all 99.03 0.00 0.95 0.00 0.01 0.00
05:00:01 PM all 99.04 0.00 0.95 0.00 0.01 0.00
05:10:01 PM all 28.03 0.00 0.23 0.00 71.74 0.00
05:20:02 PM all 17.50 0.00 0.12 0.00 82.39 0.00
05:30:01 PM all 18.90 0.00 0.11 0.00 80.99 0.00
05:40:02 PM all 18.83 0.02 0.16 0.00 81.00 0.00
05:50:01 PM all 3.45 1.07 1.10 4.60 33.31 56.47
06:00:01 PM all 0.02 0.00 0.02 0.00 0.00 99.96
06:10:01 PM all 0.02 0.00 0.02 0.00 0.02 99.94
06:20:01 PM all 0.03 0.00 0.01 0.00 0.01 99.95
06:30:01 PM all 0.01 0.00 0.01 0.00 0.00 99.98
내 프로그램을 시작하기 전에 CPU는 16:20까지 거의 100% 비어 있었다.그리고 CPU가 실행될 때 사용자 공간에서 17:00까지 거의 100%의 CPU를 사용합니다.그런 다음 17:45에 프로세스를 중지할 때까지 CPU 사용률이 20%에 육박합니다.이는 CloudWatch가 표시하는 것과 동일합니다.그러나SAR는 여기에'%steal'이라는 추가 지표가 있다. 이것이 바로 내가 그것이 한가한 것이 아니라 가상 기기 모니터링 프로그램에 의해 제한된 것임을 어떻게 알았는가이다.내 프로세스는 100% 실행 중이지만 이는 20%의 CPU 사용률과 80%의 도난을 나타냅니다.그리고 프로세스를 멈추었습니다.%user와%steal은 0으로 떨어졌습니다. 모든 시간이 비어 있습니다.CPU가 비어 있으면 CPU 포인트가 증가합니다.
24시간 후에 나는 144분의 CPU를 얻었다.나는 더 이상 벌지 않을 것이다. 이것은 최고 임금이다.물론 이 모든 것은 실례 유형 설명(https://aws.amazon.com/ec2/instance-types/))과Burstable CPU 설명(https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html)에 기록되어 있습니다: 빈 t2.마이크로는 시간당 6분, 최대 144분의 학점을 받는다.나의 예에서 문서와 다른 것은 기선이다. 학점이 부족할 때 기선은 10%가 되어야 하지만 나는 위에 있다.왜 그런지 모르겠다.
나는 또 잠도 자지 않고 쉬지 않는 과정을 시작했다.
그것은 100%의 속도로 144분을 운행할 수 있지만, 나는 여기서 멈추었다. 이것은 위의 모델과 같다.
클라우드워치는 알려주지 않지만, 'CPU 이용률%' 는 커널에서 실행되는 시간 (% 시스템) 을 포함합니다.나는
yes > /dev/null
를 실행하지 않고 dd if=/dev/urandom of=/dev/null bs=1M
를 운행한다. 주로 내부 공간에서 운행한다.03:20:01 PM CPU %user %nice %system %iowait %steal %idle
09:00:01 PM all 0.02 0.00 99.96 0.00 0.02 0.00
Average: all 7.73 0.00 1.26 0.00 0.01 91.00
관계 데이터베이스 서비스
데이터베이스에 있어서 이것은 매우 재미있을 수 있다. 일부 RDS 실례 유형은burstable(db.t3.*)이다.데이터베이스는 같은 구성의 활동이 거의 없지만, 러시아워에 사용할 수 있는 CPU 자원이 있어야 한다.데이터베이스는 데이터를 공유하기 때문에 잠금 레지스터와 회전 자물쇠로 데이터 구조를 보호한다. CPU가 부족한 상황에서 CPU 밖에서 스케줄링하는 프로세스는 독점 자원을 가지고 있을 수 있지만 다른 프로세스는 실행 상태에 들어가 CPU에서 회전해서 이 자원을 얻기 위한 것이다.이것은 다른 프로세스가 실행 대기열에 있을 때 자원을 사용할 수 없기 때문에 CPU 주기에 대한 낭비입니다.
Aurora는db에서 실행할 수 있습니다.t3 중형과 대형.그러나 너도 자동 저울을 볼 수 있다. 아마도 서버가 없는 것일 것이다.Oracle 데이터베이스는burstable 실례에서 많은 이익을 얻지 못했다. 소프트웨어 허가증은 프로세서 지표에 따라 지불되고 프로세서 지표는 완전한 vCPU에 의해 결정되기 때문에 기준이 아니라 필요할 때 100%의 프로세서를 사용하기를 원할 수도 있다.
Reference
이 문제에 관하여(AWS burstable EC2 및 CloudWatch 지표), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-heroes/aws-burstable-ec2-and-cloudwatch-metrics-4e65텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)