사용자에게 만족스러운 경험을 제공하려면, 서버 성능이 최적화되어야 합니다. 제공되는 서비스에 따라 필요한 하드웨어가 달라집니다. 예를 들어, FTP 서비스는 웹 서비스보다 적은 메모리를 사용합니다. 또한 ASP(Active Server Pages) 응용 프로그램, CGI(Common Gateway Interface) 스크립트, 데이터베이스 쿼리, 비디오 파일은 정적인 HTML 페이지보다는 프로세서 집중형이라 할 수 있습니다. 또한, 소통량과 사이트 내용에 따라 소통 시간도 달라집니다. 성능을 효과적으로 조정하려면, 서버 관리자가 다양한 도구를 사용하여 모니터링 전략을 세워야 합니다.
이 항목에는 다음 절이 포함되어 있습니다.
성능 테스트 및 조정은 진행 중인 프로세스입니다. 효과적으로 테스트하고 조정하려면, 평가 전략을 먼저 세워야 합니다. 첫 단계는 현재 성능 수준을 측정하는 것입니다. 서버 성능은 시간에 따라 크게 달라질 수 있으므로, 서버의 전반적인 실제 활동을 파악할 수 있을 만큼 오랫동안 모니터링해야 합니다.
서버 성능을 개선하려면, 병목 현상이 일어날 수 있는 시스템의 모든 부분을 검사해야 합니다. 병목 현상은 부적절하거나 부적합하게 구성된 하드웨어 또는 IIS나 Windows XP의 소프트웨어 설정에 의해 생길 수 있습니다. 모니터링 계획을 세울 때는 모든 영역의 성능을 검사하도록 해야 합니다.
일단 서버 수행 방법을 알고 나면, 성능 개선을 목표로 각 사항을 변경하면 됩니다. 한 번에 하나씩 바꾸어야 하며, 그렇지 않은 경우에는 각 변경 사항의 영향을 평가하기가 어려워집니다.
각 사항을 바꾸고 난 후에는 변경 사항이 원하는 효과를 내는지 여부를 계속해서 모니터링해야 합니다. 한 리소스의 변경 사항이 다른 영역에서는 병목을 야기할 수 있으므로, 바꾸고 난 후에는 모든 리소스의 성능을 확인해야 합니다. 일단 변경 사항의 영향을 평가하고 나면, 향후 변경이 필요한지 그 여부를 결정할 수 있습니다.
서버 모니터링은 서버 관리의 중요한 부분입니다. 적절한 모니터링 도구를 사용하면 서버 문제를 감지하거나 웹 사이트 컨텐트를 변경한 결과를 평가하거나 웹 사이트를 사용자가 더 쉽게 액세스할 수 있도록 업그레이드할 계획을 세울 수 있습니다.
모니터링 도구와 방법은 필요한 정보에 따라 다르게 선택해야 합니다. 예를 들어, 웹 서버의 전체 로드를 측정하려면 성능 모니터로 한 주 계획을 만들어서 연결된 컴퓨터와 전송된 파일의 개수 등의 정보를 표시하도록 합니다. 다른 예로, 서버의 성능이 점점 저하되는 것을 알았다면 Windows XP로 만든 로그 확인 도구인 이벤트 뷰어에서 오류를 확인할 수 있습니다.
또한 IIS가 만든 로그를 조사하여 서버를 모니터링할 수 있습니다. 이러한 로그는 Windows XP로 생성한 것 이상으로 확장할 수 있습니다. 로깅에 대한 자세한 내용은 사이트 활동 로깅에 나열된 항목을 참조하십시오.
Windows XP의 일부 버전에 사용할 수 있는 다음 모니터링 도구는 매순간의 정보와 요약 정보를 모두 제공합니다.
Windows XP에 구축된 도구 뿐만 아니라 다른 성능 모니터링 도구를 사용할 수도 있습니다. 자세한 내용은 성능 및 확장성 테스트를 참조하십시오.
성능 모니터는 서버의 활동을 모니터링하고 선택한 시간 간격으로 서버의 성능을 요약하는 데 사용되는 강력한 MMC 스냅인입니다. 성능 모니터를 사용하여 실시간 차트나 보고서에 성능 데이터를 표시하고, 파일에 데이터를 모으고, 치명적인 이벤트가 발생했을 때 알려 주는 경고를 만들 수 있습니다. 데이터를 사용하여 시스템 병목 현상의 원인을 알아내고, 시스템과 응용 프로그램 성능을 세밀하게 조정할 수 있습니다.
다음은 성능 모니터에 액세스하는 세 가지 방법입니다.
성능 모니터는 특정 성능 개체의 활동을 모니터링하는 성능 카운터의 출력 즉, 특정 서비스 또는 서버 리소스를 제어하는 메커니즘을 검사합니다. 예를 들어, 성능 모니터에서 더하기 기호 단추를 클릭하면, 웹 서버라고 하는 성능 개체와 초 당 수신 바이트나 초 당 연결 시도 같은 것을 모니터링하는 카운터 목록을 볼 수 있습니다. 이 창에서 성능 모니터의 그래픽 디스플레이에 대한 카운터를 추가하고 제거하거나, 카운터를 특정 방식으로 로그인하도록 구성할 수 있습니다. 동시에 여러 개의 카운터를 실행하면 성능이 다소 떨어질 수 있으므로 잘 선택해야 합니다.
Windows XP에는 디스크 사용과 TCP 활동에 대한 것 등의 많은 카운터가 있습니다. 또한 IIS는 웹 서비스 카운터, FTP 서비스 카운터, Active Server Pages 응용 프로그램 카운터 및 IIS 글로벌 카운터를 비롯하여 해당 카운터를 설치합니다. 웹 및 FTP 서비스 카운터와 Active Server Pages 응용 프로그램 카운터는 스크립트에 대한 연결 활동을 모니터링하고, IIS 글로벌 카운터는 대역폭 사용과 모든 IIS 서비스에 대한 캐시 활동 등을 모니터링합니다. 일반적으로 카운터는 수량, 횟수, 기간을 측정합니다. 표시할 카운터를 선택할 때 이러한 사항을 고려하십시오.
성능 모니터는 서버 및 사이트의 로드에 대한 단기 및 장기 정보를 제공합니다. 다음 표는 웹 모니터링에 유용한 성능 모니터 카운터 및 각 카운터에 이상적인 평균 값 목록입니다. 성능 모니터 그래프는 0(zero)부터 100까지의 배율로 표시되므로 값이 적은 개별 카운터에 대해서는 배율을 변경해야 합니다.
| 개체\카운터 | 이상적인 값 |
|---|---|
| Memory\Pages/sec | 0-20 (80이 넘으면 문제가 생깁니다. ) |
| Memory\Available Bytes | 최소 20 MB |
| Memory\Committed Bytes | 실제 메모리 크기의 75 % 이하 |
| Memory\Pool Nonpaged Bytes | 안정 (느리게 올라가는 것은 메모리 누락을 의미합니다. ) |
| Processor\% Processor Time | 75 % 이하 |
| Processor\Interrupts/sec | 프로세서에 따라 다르며, 486/66 프로세서용으로 1,000까지, P90용으로 3,500, P200용으로 7,000 이상으로 낮을수록 좋음 |
| Processor\System Processor Queue Length | 2 이하 |
| LogicalDiak 또는 PhysicalDisk\% Disj Time | 가능한 한 낮게 |
| LogicalDiak 또는 PhysicalDisk Disk Queue Length | 2 이하 |
| LogicalDiak 또는 PhysicalDisk\Avg Disk Bytes/Transfer | 가능한 한 높게 |
| Internet Information Services Global\File Cache Hits % | 값이 사이트 컨텐트에 의존하고 있는 경우에도 가능한 높게 |
| Web Service\Bytes Total/sec | 가능한 한 높게 |
| Active Server Pages\Request Wait Time | ASP\요청 실행 시간 |
| Active Server Pages\Requests Queued | 0(zero) |
| Active Server Pages\Transactions/sec | 가능한 한 높게 |
성능 모니터를 사용하는 방법에 대한 자세한 내용은 Windows XP 설명서를 참조하십시오. IIS에서 제공하는 카운터 목록에 대해서는 카운터 참조를 참조하십시오.
Windows XP에는 이벤트 로깅 서비스가 있으며 이 서비스는 서비스 오류나 서비스의 성공적인 시작 등의 이벤트를 기록합니다. 이 이벤트 로그들은 이벤트 뷰어를 사용하여 볼 수 있습니다. 이벤트 뷰어를 사용하여 시스템, 보안, 응용 프로그램 이벤트 로그를 모니터링할 수 있습니다. 이 정보를 보면 특정한 성능에 문제가 생기기까지 발생한 이벤트의 순서와 종류를 더 잘 이해할 수 있습니다. 이벤트 뷰어 사용법에 대한 자세한 내용은 Windows XP 설명서를 참조하십시오.
작업 관리자는 진행 중인 작업과 스레드를 보는 데 사용할 수 있습니다. 또한 우선 순위로 할당된 프로세스를 바꾸는 데도 사용할 수 있습니다. 그러나 일단 프로세스가 완료되면, 새 우선 순위 설정은 없어집니다. CPU 및 메모리 사용법은 실시간으로 볼 수 있지만, 시간에 대한 정보는 저장되지 않습니다. 작업 관리자를 사용하는 방법에 대한 자세한 설명은 Windows XP 설명서를 참조하십시오.
네트워크 모니터는 컴퓨터에서 양방향 소통량 정보를 캡처할 뿐만 아니라 보내고 받은 프레임에 대한 자세한 정보를 제공합니다. 이 도구는 네트워크 소통량에 대한 복잡한 양상을 분석하는 데 도움이 됩니다. 네트워크 모니터를 사용하여 사용자 서버의 HTTP 및 FTP 요청에 포함된 헤더 정보를 볼 수 있습니다. 일반적으로 캡처 필터는 데이터베이스 쿼리처럼 작동하며 전송된 프레임의 하위 집합을 선발하는 데 필요합니다. 실행 가능한 파일 시작 등의 작업을 초기화하여 네트워크의 이벤트에 응답하는 캡처 트리거를 사용할 수도 있습니다. 네트워크 모니터 "light" 버전은 Windows XP의 일부 버전에 포함되어 있습니다. 네트워크 모니터 완제품은 시스템 관리 서버에 포함되어 있습니다. 네트워크 모니터에 대한 자세한 내용은 Windows Resource Kit가 있는 Windows XP 설명서를 참조하십시오.
하드 디스크 병목 현상은 대용량 파일이 수시로 액세스되는 사이트에서 자주 볼 수 있습니다. IIS가 하드 디스크를 액세스하는 횟수는 RAM 용량과 요청된 파일 수 및 크기에 직접적인 연관이 있습니다. RAM 용량이 적고 다른 파일을 많이 요청하거나 요청된 파일 크기가 크면 IIS는 RAM에 파일의 사본을 유지하여 빠른 액세스를 할 수 없습니다. 이러한 경우 IIS는 하드 디스크에서 파일을 액세스해야 합니다. 액세스 속도와 하드 디스크의 크기에 따라 IIS가 요청된 파일을 찾는 속도가 결정됩니다.
디스크 드라이브를 모니터링하려면, 시스템 모니터를 사용하여 활용된 사용된 CPU의 백분율, 네트워크 카드 포화 상태, PhysicalDisk 개체의 % Disk Time 카운터를 로그합니다. % Disk Time 카운터가 높고 CPU 및 네트워크 카드의 포화 상태가 충분하지 않으면, 디스크 드라이브에 병목 현상이 생깁니다. PhysicalDisk 개체의 % Disk Time 카운터에 대한 자세한 내용은 Windows XP 설명서를 참조하십시오.
이런 상황에서 디스크 액세스를 개선하려면 RAID(Redunadnt Array of Inexpensive Drives)나 스트라이프 디스크 세트를 사용하십시오. 서버에서 과중한 데이터 작업을 하는 경우, 데이터베이스가 메모리, CPU, 디스크 리소스에 대해 IIS와 경쟁하므로 다른 컴퓨터에서 최신 버전이나 적합한 Windows 서버 버전을 실행할 것을 고려해 볼 수 있습니다. 사용자 데이터베이스 서버와 동일한 컴퓨터에서 Windows XP를 실행해야만 한다면 기가바이트의 RAM이 필요합니다. 이렇게 하면 대용량의 RAM 캐시로 액세스 지연이나 드라이브 컨트롤러를 최소화할 수 있습니다. 또한 하나의 드라이브가 작동을 멈췄을 때 백업 복사본에서 복원하지 않으려면 중복성을 유지해야 합니다. 많은 새 컨트롤러가 "핫 스와핑"을 허용하므로, 드라이브에 오류가 발생하였을 때 서버가 다운되지 않고 바꿀 수 있습니다. 그런 경우라도 백업을 제대로 유지하고 사이트 외부에 복사본을 두는 것이 좋습니다.