Oracle Solaris 에서 의 성능 및 조정 안내 (2)

2665 단어 OacleSolaris
Oracle Solaris 에서 의 성능 및 조정 안내 (2)
3. 성능 병목 찾기
일단 해결 해 야 할 성능 문 제 를 정의 했다 면 다음 단 계 는 병목 이 발생 하 는 곳 으로 범 위 를 좁 히 는 것 이다. 
이 단 계 는 이런 질문 을 할 필요 가 있다.
응용 프로그램 은 나 에 게 그것 이 어떤 것 이 병목 인지 알려 줄 수 있 습 니까?Oracle 을 예 로 들 면 Oracle 데이터베이스 관리 자 는 BSTAT / ESTATS 가 무엇 인지, 어떻게 실행 하고 이해 하 는 지 알 아야 한다.아니면 그 말 인지 응용 프로그램의 측면 에서 볼 때 BSTATS / ESTATS 는 Oralce 의 성능 을 제한 하 는 병목 을 나 타 낼 수 있 는데 이것 은 진일보 한 분석 을 위 한 지도 가 될 수 있다. 
대부분의 시간 은 어디 에 쓰 입 니까? 커 널 입 니까? 사용자 프로 세 스 입 니까?vmstat, mpstat, sar, ps, prstat 를 통 해 이 질문 에 대답 할 수 있 습 니 다. 
비슷 한 유형의 모든 자원 이 똑 같이 바 쁘 지 않 습 니까?이 문제 의 의 의 는 자원 의 불평 등 분 포 를 찾 는 데 있다.예 를 들 어 하나의 디스크 가 병목 이 있 거나 다른 CPU 보다 CPU 가 더 바 쁠 수 있 습 니 다.CPU디스크 에 iostat 를 사용 합 니 다.어떤 프로 세 스 가 가장 많은 자원 을 사용 하고 있 습 니까?이 명령 을 사용 하면 CPU 와 메모 리 를 가장 많이 사용 하 는 프로 세 스 를 볼 수 있 습 니 다.
  ps -eo pid,pcpu,args | sort +1n 
 
 
CPU 백분율:
  
  ps -eo pid,vsz,args | sort +1n 
  
K 바이트 의 가상 메모리:
  
  /usr/ucb/ps aux |more 
  
출력 이 정렬 되 었 습 니 다. CPU 와 메모 리 를 가장 많이 사용 하 는 프로 세 스 가 위 에 있 습 니 다. 
Solaris 8 작업 환경 은 CPU 와 메모리 사용 상황 에 대한 동적 주 해 를 제공 합 니 다.prstat - cvm 의 출력 결 과 는 매우 유용 합 니 다. 
흔히 볼 수 있 는 Solaris 명령 으로 성능 분석 을 시작 하 는 방법 을 살 펴 보 자. 
vmstat 명령 은 간단 합 니 다.실행 중인 프로그램 에 CPU 능력 이 부족 한 예 를 볼 수 있 습 니 다. 
  
  % vmstat 15 
  
  procs memory page disk faults cpu 
  
  r b w swap free re mf pi po fr de sr m0 m1 m2 m3 in sy cs us sy id 
  
  45 0 0 2887216 182104 3 707 449 6 455 0 80 2 6 1 0 1531 5797 983 61 30 9 
  
  58 0 0 2831312 46408 5 983 582 56 3211 0 492 0 0 0 0 1413 4797 1027 69 31 0 
  
  55 0 0 2830944 56064 2 649 656 3 806 0 121 0 0 0 0 1441 4627 989 69 31 0 
  
  57 0 0 2827704 48760 4 818 723 6 800 0 121 0 0 1 0 1606 4316 1160 66 34 0 
  
  56 0 0 2824712 47512 6 857 604 56 1736 0 261 0 0 1 0 1584 4939 1086 68 32 0 
  
  58 0 0 2813400 47056 7 856 673 33 2374 0 355 0 0 0 0 1676 5112 1114 70 30 0 
  
  60 1 0 2816712 49464 7 861 720 6 731 0 110 7 0 3 0 2329 6131 1067 64 36 0 
  
  58 0 0 2817552 48392 4 585 521 0 996 0 146 0 0 0 0 1357 6724 1059 71 29 0 
  
vmstat 출력의 첫 줄 은 항상 무시 할 수 있 습 니 다."procs" 아래 에 "r" 라 고 표 시 된 열 은 CPU 를 가 져 오 기 를 기다 리 는 프로 세 스 실행 대기 열 에 있 는 프로 세 스 수 입 니 다."id" 열 은 CPU 의 남 은 시간 입 니 다.이 기 계 는 프로 세 스 가 실행 되 는 수 요 를 만족 시 키 기 위해 충분 한 CPU 자원 이 없습니다. 대부분의 CPU 시간 을 사용자 공간 에서 볼 수 있 습 니 다 ("us" 열 참조). 
여기 에는 두 가지 방법 이 있 습 니 다. 첫째, 더 많은 CPU 를 추가 하거나 둘째, 응용 프로그램의 코드 를 성능 분석 하여 응용 프로그램의 특정한 부분 이 최적화 되 는 지 확인 할 수 있 습 니 다.코드 세 션 을 최적화 하 는 데 는 많은 노력 이 필요 할 수도 있 고, 때로는 효과 가 적 을 수도 있다.시간 이 걸 릴 때 가능 한 '투자 수익' 을 고려 할 때 현실 적 으로 생각 하 는 것 이 좋다.

좋은 웹페이지 즐겨찾기