달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

윈도우 2000에서는 기본적으로 논리 디스크 성능 카운터가 Disable 상태이다.
만약 LogicalDisk에 관련된 Counter 수집이 필요하다면 다음과 같은 명령으로 Enable 시켜야 한다.
명령 실행 후 재부팅을 해야 적용된다.

DISKPERF -Y
모든 디스크 성능 카운터 Enable

DISKPERF -YD
실제 드라이브에 대한 성능 카운터 Enable

DISKPERF -YV
논리 드라이브에 대한 성능 카운터 Enable

DISKPERF -N
디스크 관련 모든 성능 카운터 Disable

DISKPERF -ND
실제 드라이브에 대한 성능 카운터 Disable

DISKPERF -NV
논리 드라이브에 대한 성능 카운터 Disable

:
Posted by 커널64
2009. 2. 17. 12:46

/3GB /PAE AWE 정리 Performance2009. 2. 17. 12:46

/3GB

응용 프로그램에서 사용하는 4GB의 가상 메모리는 커널 모드 2GB, 사용자 모드 2GB로 쓰여진다.

(사용자 모드 주소: 0x00000000 ~ 0x7FFFFFFF, 커널 모드 주소: 0x80000000 ~ 0xFFFFFFFF)

 

boot.ini /3GB 파라미터를 사용하면 커널 메모리 1GB, 사용자 모드 3GB로 사용된다.

(사용자 모드 주소: 0x00000000 ~ 0xBFFFFFFF, 커널 모드 주소: 0xC0000000 ~ 0xFFFFFFFF)

 

LARGE_ADDRESS_AWARE 플래그가 설정된 응용 프로그램만 이 늘어난 1GB의 사용자 메모리 공간을 사용할 수 있으며 그렇지 않은 응용 프로그램은 영향 받지 않는다.

LARGE_ADDRESS_AWARE 옵션이 설정되어 있는지 여부는 Visual Studio dumpbin.exe /HEADERS 명령으로 확인 가능하다.

 

1GB로 줄어든 커널 메모리 공간으로 인해 시스템 캐시(System PTE, 페이징 풀, 비 페이징 풀 등)의 공간이 현저하게 줄어들게 된다.

 

응용 프로그램에서 특별히 권고하지 않는 한 일반적으로 /3GB 옵션은 권장되지 않는다.

예를 들어, SQL Server의 경우 /3GB 옵션이 권장되나 파일 서버의 경우에는 사용하지 않는 것을 권장한다.

 

 

/PAE (Physical Address Extension)

32bit 운영체제 메모리 주소의 한계인 4GB(2^32) 이상의 실제 메모리 공간에 접근하기 위해 사용된다.

4GB 이상(36bit: 64GB)의 메모리를 사용하기 위해 운영체제 커널의 메모리 변환 스키마가 변경된다.

Boot.ini /PAE 옵션은 운영체제를 PAE 커널로 변경시킨다.

(단일 프로세서 서버의 경우 ntkrnlpa.exe, 다중 프로세서 서버의 경우 ntkrnlpamp.exe)

 

/PAE 옵션이 응용 프로그램이 사용하는 가상 메모리 공간인 4GB를 늘리는 것은 아니며 응용 프로그램의 가상 메모리 공간은 여전히 4GB로 제한된다.

 

 

AWE (Address Windowing Extension)

/PAE 옵션이 프로세서가 36bit의 메모리 공간을 사용할 수 있게 해주나 응용 프로그램은 여전히 4GB의 가상 메모리 공간을 사용한다.

이 응용 프로그램이 사용하는 4GB의 가상 메모리 공간을 확장하기 위한 API이며 대표적으로 SQL Server가 있다.

 

, AWE를 사용하는 응용 프로그램은 커널 메모리 공간 2GB와 사용자 메모리 공간 2GB 이상을 사용할 수 있게 된다.

:
Posted by 커널64

SCOM 2007 Agent의 메시지 큐 크기 수정

기본값은 15MB인데 Exchange Server 2007과 같은 서버의 경우 너무 작을 수 있다.

과정
1. 레지스트리 편집기 실행
2. 다음 키로 이동
HKLM\SYSTEM\CurrentControlSet\Services\HealthService\Parameters\Management Groups\<ManagementGroupName>
3. MaximumQueueSizeKb 문자열 값 수정
(기본값은 15360으로 15MB -> 30720(10진수)이면 30MB
4. HealthService 재시작

:
Posted by 커널64
2008. 12. 3. 13:32

윈도우 서버의 메모리 (32bit/64bit) Performance2008. 12. 3. 13:32

 

 아키텍처 구성 요소  64비트 윈도우  32비트 윈도우
 가상 메모리  16테라바이트  4GB
 페이징 파일 크기  512테라바이트  16테라바이트
 하이퍼스페이스  8GB  4MB
 페이징 풀  128GB  470MB
 비페이징 풀  128GB  256MB
 시스템 캐시  1테라바이트  1GB
 시스템 PTE  128GB  660MB


가상 메모리

컴퓨터에서 사용할 수 있는 실제 메모리를 늘리는 방법입니다. 가상 메모리 시스템에서는 운영 체제에서 페이지 파일이나 스왑 파일을 만들어 메모리를 페이지라고 하는 단위로 나눕니다. 최근에 참조된 페이지는 실제 메모리나 RAM에 있습니다. 메모리 페이지가 잠시 참조되지 않을 경우 페이지 파일에 기록되는데, 이것을 메모리 "스와핑"이나 메모리 "페이징 아웃"이라고 합니다. 이 메모리 부분이 나중에 프로그램에 의해 참조될 때 운영 체제가 페이지 파일에서 실제 메모리로 메모리 페이지를 다시 읽어 들이는데, 이것도 메모리 "스와핑"이나 메모리 "페이징 인"이라고 합니다. 프로그램에 사용할 수 있는 총 메모리 양은 컴퓨터의 실제 메모리 양과 페이지 파일의 크기를 더한 것입니다. 단기적으로 중요한 고려 사항은 Windows x64 Edition에서 32비트 응용 프로그램을 실행할 경우 32비트 응용 프로그램도 늘어난 가상 메모리 주소 공간으로 인해 성능이 향상된다는 것입니다. 32비트 Windows에서 /3GB 스위치를 사용해야 하는 경우처럼 /LARGEADDRESSAWARE 옵션을 사용하여 컴파일된 응용 프로그램은 부팅 시간 스위치를 사용하거나 x64 Windows로 변경하지 않고도 자동으로 4GB의 가상 메모리를 주소 지정할 수 있습니다. 물론 운영 체제에서는 이 4GB의 공간을 공유하지 않아도 되기 때문에 메모리 제한을 전혀 받지 않습니다.

페이징 파일
컴퓨터에서 가상 메모리의 실제 저장소 양을 늘리기 위해 사용하는 디스크 파일입니다.

하이퍼스페이스
몇 가지 작업을 위해 프로세스 작업 집합 목록을 매핑하고 다른 실제 페이지를 임시로 매핑하는 데 사용되는 특수 영역입니다. 해당하는 작업에는 0으로 채워진 목록이 비어 있고 0으로 채워진 페이지가 필요한 경우 사용 가능한 목록에 있는 페이지를 비우는 작업, 대기 목록에서 페이지를 제거하는 경우와 같이 다른 페이지 테이블에 있는 페이지 테이블 항목을 무효화하는 작업 및 프로세스 생성과 관련하여 새 프로세스의 주소 공간을 설정하는 작업 등이 있습니다.

페이징 풀
시스템 공간에서 시스템 프로세스의 작업 집합을 페이징 인 및 페이징 아웃할 수 있는 가상 메모리 영역입니다. 페이징 풀은 시스템을 초기화하는 동안 만들어지고 커널 모드 구성 요소에서 시스템 메모리를 할당하는 데 사용됩니다. 단일 프로세서 시스템에는 두 개의 페이징 풀이 있고 다중 프로세서 시스템에는 네 개의 페이징 풀이 있습니다. 페이징 풀이 두 개 이상 있으면 시스템 코드에서 풀 루틴의 동시 호출을 차단하는 횟수가 줄어듭니다.

비페이징 풀
시스템 가상 주소의 범위로 구성된 메모리 풀로, 실제 메모리 내에 상주하고 있기 때문에 페이징 I/O(입/출력)를 발생시키지 않고도 원하는 주소 공간에서 액세스할 수 있습니다. 비페이징 풀은 시스템을 초기화하는 동안 만들어지고 커널 모드 구성 요소에서 시스템 메모리를 할당하는 데 사용됩니다.

시스템 캐시
시스템 캐시에 열려 있는 페이지를 매핑하는 데 사용되는 페이지입니다.

시스템 PTE
I/O 공간, 커널 스택 및 메모리 설명자 목록 같은 시스템 페이지를 매핑하는 데 사용되는 시스템 PTE(페이지 테이블 항목)의 풀입니다. 64비트 프로그램은 16테라바이트 튜닝 모델(8테라바이트 사용자와 8테라바이트 커널)을 사용하지만 32비트 프로그램은 계속 4GB 튜닝 모델(2GB 사용자와 2GB 커널)을 사용합니다. 즉, 64비트 버전의 Windows에서 실행되는 32비트 프로세스가 4GB 튜닝 모델(2GB 사용자와 2GB 커널)에서 실행됩니다. 64비트 버전의 Windows에서는 부팅 옵션에서 /3GB 스위치를 사용할 수 없습니다. 일반적으로 64비트 포인터는 16엑서바이트까지 주소 지정할 수 있습니다. 64비트 버전의 Windows에서는 현재 주소 공간이 16테라바이트까지 구현되었습니다.

:
Posted by 커널64

select DB_NAME(a.database_id) as DBName,
a.File_ID,
b.name,
a.IO_Stall,
a.Num_Of_Reads, a.Num_Of_Writes,
a.Num_Of_Bytes_Read, a.Num_Of_Bytes_Written
from sys.dm_io_virtual_file_stats(null, null) a
inner join sys.master_files b on a.database_id = b.database_id and a.file_id = b.file_id

결과에서 io_stall 값이 매우 높다면 I/O로 인한 성능 문제가 있을 수 있음

열 이름  데이터 형식  설명 
database_id smallint 데이터베이스 ID
file_id smallint 파일 ID
sample_ms int SQL Server 인스턴스를 시작한 이후 경과한 시간(밀리초)
num_of_reads bigint 파일에 대해 읽기가 실행된 횟수
num_of_bytes_read bigint 파일에 대해 실행된 읽기의 총 바이트 수
io_stall_read_ms bigint 사용자가 파일에 대한 읽기가 실행될 때까지 대기한 총 시간(밀리초)
num_of_writes bigint 파일에 대해 쓰기가 실행된 횟수
num_of_bytes_written bigint 파일에 대해 실행된 쓰기의 총 바이트 수
io_stall_write_ms bigint 사용자가 파일에 대한 쓰기가 완료될 때까지 대기한 총 시간(밀리초)
io_stall bigint 사용자가 파일에 대한 I/O가 완료될 때까지 대기한 총 시간(밀리초)
size_on_disk_bytes bigint 이 파일에 대해 디스크에서 사용된 바이트 수
file_handle varbinary 이 파일에 대한 Windows 파일 핸들

:
Posted by 커널64

1. MPSReport - 구성 정보 수집
 
2. PSSDiag / SQLDiag
1) PSSDiag - SQL 2000에서 사용, 별도로 설치
PSSDIAG Data Collection Utility
2) SQLDiag - SQL 2005에서 사용, SQL 2005와 함께 설치됨 (Binn 폴더에 위치)
3) 수집하는 정보
- Windows Performance Logs
- Windows Event Logs
- SQL Server Profiler Traces
- SQL Server Blocking Information
- SQL Server Configuration Information
 SQLDIAG.XML 파일 수정을 통해 수집할 정보 수정

3. ReadTrace
RML Utilities for SQL Server (x86)
RML Utilities for SQL Server (x64)

수집된 Profiler Trace 분석 Tool (*실제 서비스 환경에 실행 금지* )
- Rollup by Duration
- Rollup bu CPU
- Rollup by Read/Write

:
Posted by 커널64
2008. 11. 10. 10:51

Performance Analysis for Logs(PAL) Tool Performance2008. 11. 10. 10:51

http://www.codeplex.com/PAL

 

윈도우 서버 시스템의 성능 로그 분석 도구

사전 요구 사항

l  .NET Framework 2.0

l  Log Parser 2.2

l  Microsoft Office Web Components 2003

 

사용 방법

     위 링크에서 다운 받아 설치(설치는 대상 서버가 아닌 워크스테이션에 설치) 후 실행

     Threshold File 탭에서 필요한 Template Export한다.

③   Export한 정의 파일을 대상 서버에서 Import해 성능을 수집

     수집한 성능 로그 파일(.blg, .csv)을 분석할 워크스테이션으로 가져와 분석

 

:
Posted by 커널64