포 지 셔 닝 성능 병목 도구
CPU、Memory、Load、I/O、Disk 。
7. 테스트 기기 자원.
구체 적 으로 CPU, Memory, 네트워크, 로그 출력, 디스크 공간, 부하 생 성기 평가 등 을 포함한다.
포 지 셔 닝 성능 병목 도구
uptime 명령 (로드 평균)
linux 시스템 의 Load 가 현재 CPU 작업량 에 대한 도량 입 니 다.쉽게 말 하면 프로 세 스 대기 열의 길이 입 니 다.
$ uptime
10:42:43 up 1 day, 17:57, 1 user, load average: 0.13, 0.12, 0.22
uptime 명령 리 셋 에 있 는 load average 는 지난 1 분, 5 분, 15 분 동안 프로 세 스 대기 열의 평균 프로 세 스 수 를 표시 합 니 다.이 세 값 의 크기 는 일반적으로 시스템 논리 CPU 의 개수 보다 크 면 안 됩 니 다. 예 를 들 어 본 출력 에 4 개의 논리 CPU 가 있 습 니 다. 만약 에 load average 의 세 값 이 장기 적 으로 4 보다 크 면 CPU 가 매우 바 쁘 고 부하 가 높 으 며 시스템 성능 에 영향 을 줄 수 있 습 니 다. 그러나 가끔 4 보다 크 면 걱정 하지 마 세 요. 일반적으로 시스템 성능 에 영향 을 주지 않 습 니 다.반대로 load average 의 출력 값 이 CPU 의 개수 보다 작 으 면 CPU 가 아직 비어 있 음 을 나타 낸다. 예 를 들 어 이 예 에서 의 출력 은 CPU 가 비교적 비어 있다.
0.7 < load < 4: , , 。
load = 4: 당신 의 도로 가 막 힐 것 입 니 다. 그리고 더 많은 자원 의 추가 임무 가 없습니다. 어서 무슨 일이 일 어 났 는 지 보 세 요.load > 4: 매우 심하게 막 혀 서 우리 의 도 로 는 매우 바 빠 서 모든 차 가 빨리 운행 할 수 없습니다.
CPU 보기
top 명령:
Cpu(s): 14.8%us, 0.8%sy, 0.0%ni, 60.3%id, 83.8%wa, 0.1%hi, 0.2%si, 0.0%st
디스크 IO 가 병목 중 하나 라면% wa 의 값 이 높 을 것 입 니 다. 이 럴 때 디스크 IO 를 분석 해 야 합 니 다.다른 필드 는 여기 서 설명 하지 않 겠 습 니 다.
IO 부하 보기
$ iostat -x 1
Linux 4.4.0-108-generic (www) 03/08/2018 _x86_64_ (32 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.02 0.00 0.01 0.00 0.00 99.97
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 1.12 0.01 0.79 0.19 13.85 35.18 0.00 0.11 3.11 0.08 0.04 0.00
dm-0 0.00 0.00 0.01 1.89 0.15 13.76 14.64 0.00 0.12 3.45 0.11 0.01 0.00
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 32.81 0.00 6.30 6.30 0.00 6.02 0.00
주요 필드 의 의 미 는 다음 과 같다. r / s 초당 읽 기 동작 수.w / s 초당 조작 수 를 쓴다.rsec / s 초당 장치 에서 읽 는 섹 터 수 입 니 다.장치 에 기 록 된 섹 터 수avgrq - sz I / O 가 요청 한 평균 섹 터 수 입 니 다.avgqu - sz I / O 가 요청 한 평균 대기 열 길이 입 니 다.await I / O 요청 의 평균 대기 시간, 단 위 는 밀리초 입 니 다.svctm I / O 가 요청 한 평균 서비스 시간, 단 위 는 밀리초 입 니 다.util 처리 I / O 요청 이 차지 하 는 시간의 백분율, 즉 장치 이 용 률 입 니 다.
사이트 의 동시 접속 수 를 조회 하 다.
병목 에 도 달 했 는 지 확인 하고 Linux 에서 다음 명령 을 사용 하면 여러 연결 상 태 를 그룹 으로 나 누 어 볼 수 있 습 니 다.
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
설명: 결과 예시 되 돌려 주기:
LAST_ACK 5 ( )
SYN_RECV 30
ESTABLISHED 1597 ( )
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057 ( , )
상태: 설명
CLOSED:
LISTEN:
SYN_RECV: ,
SYN_SENT: ,
ESTABLISHED:
FIN_WAIT1:
FIN_WAIT2:
ITMED_WAIT:
CLOSING:
TIME_WAIT:
LAST_ACK:
이 위의 명령 을 사용 하면 서버 의 각종 연결 상 태 를 볼 수 있 습 니 다. 그 중에서 ESTABLISHED 는 병렬 연결 상태 수 입 니 다.이렇게 많은 연결 상 태 를 보고 싶 지 않 고 동시 연결 수 만 보고 싶다 면 명령 을 간소화 할 수 있 습 니 다. 즉,:
netstat -nat|grep ESTABLISHED|wc -l
2089
이 되 돌아 오 는 숫자 는 현재 병발 하 는 연결 수의 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
해커랭크 Top earnings문제의 저작권은 해커랭크에 있습니다 문제소개 풀이접근 코드...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.