Microsoft 원격 프로시저 호출(RPC) 성능을 테스트하는 방법
기술 자료 ID | : | 177446 |
마지막 검토 | : | 2003년 10월 1일 수요일 |
수정 | : | 2.0 |
요약
이 문서에서는 Microsoft 원격 프로시저 호출(RPC) 성능을 테스트하는 방법과 RPC 오류 메시지 문제를 해결하는 방법을 설명합니다.
추가 정보
RPC는 OSF(Open Software Foundation) 디자인과 호환되고 다른 DCE(Data Communications Exchange) 표준과도 상호 운용이 가능합니다. RPC는 클라이언트와 서버 간의 통신을 위한 업계 표준 프로세스 간 통신(IPC) 메커니즘으로 네트워크에 독립적이고 다양한 네트워크 프로토콜에서 작동할 수 있습니다. RPC에서는 IPC 메커니즘을 사용하여 클라이언트와 서버 간의 통신을 설정해서 원격 컴퓨터의 프로그램 함수를 호출합니다. 이러한 서비스 수준을 사용하는 복잡한 프로그램이 이 기능을 적절하게 전달하기 위해서는 연결이나 적절한 처리량 수준이 있어야 합니다. 예를 들어, Microsoft Exchange Server를 사용하는 경우에 데이터 흐름을 안정적으로 유지하기 위해서는 연결이 필요합니다.
loadTOCNode(2, 'moreinformation'); RPC를 사용할 경우 다음과 같은 오류 메시지 중 하나가 나타날 수 있는데, 느린 네트워크 연결이 그 원인일 수 있습니다.
loadTOCNode(2, 'moreinformation'); RPC 오류 메시지가 느린 네트워크 연결로 인해 발생했는지 확인할 때 사용할 수 있는 도구는 여러 가지가 있습니다. RPC 오류 메시지가 나타날 경우 가능한 원인인 느린 네트워크 연결을 제거하십시오. 다음 방법 중 하나 이상을 사용하여 문제를 찾으십시오.
RPC 오류 메시지
• | RPC 프로토콜 시퀀스를 지원하지 않습니다. |
• | RPC 프로토콜 시퀀스가 틀립니다. |
• | RPC 서버가 이미 듣고 있습니다. |
• | RPC 서버가 듣고 있지 않습니다. |
• | RPC 서버를 사용할 수 없습니다. |
• | RPC 서버가 너무 바빠서 이 작업을 마칠 수 없습니다. |
• | RPC 프로토콜 오류가 발생했습니다. |
• | RPC 서버가 전송 구문을 지원하지 않습니다. |
• | RPC 프로토콜 시퀀스를 찾지 못했습니다. |
• | 원격 프로시저 호출(RPC)에 내부 오류가 발생했습니다. |
• | RPC 서버가 0으로 정수를 나눗셈을 하려고 했습니다. |
• | RPC 서버에서 주소 지정 오류가 발생했습니다. |
• | RPC 서버에서 부동 소수점 연산을 할 때 0으로 나누었습니다. |
• | RPC 서버에서 부동 소수점 언더플로가 생겼습니다. |
• | RPC 서버에서 부동 소수점 오버플로가 생겼습니다. |
• | 자동 핸들의 바인딩에 사용 가능한 RPC 서버 목록이 전부 사용되었습니다. |
• | 지정된 오류는 올바른 Windows RPC 오류 코드가 아닙니다. |
• | RPC 중 호환되지 않는 버전입니다. |
• | RPC 파이프 개체가 잘못되었거나 손상되었습니다. |
• | 주어진 RPC 파이프 개체에 대한 작업이 올바르지 않습니다. |
• | 지원되지 않는 RPC 파이프 버전입니다. |
• | 잘못된 비동기식 RPC가 이 작업에 대한 핸들을 호출합니다. |
• | RPC 파이프 개체가 이미 닫혔습니다. |
• | 모든 파이프가 처리되기 전에 RPC 호출을 완료했습니다. |
• | RPC 파이프에 더 이상 데이터가 없습니다. |
RPC 성능 및 오류 메시지 문제 해결
• | 이름 확인 문제가 RPC 오류 메시지의 원인일 경우 이를 해결하려면 대상 서버의 명령 프롬프트에서 NET VIEW 명령을 사용할 수 있는지 확인합니다. 클라이언트와 서버 프로그램 간에 TCP/IP(Transmission Control Protocol/Internet Protocol) 프로토콜을 사용하는 경우 Lmhosts 파일을 사용하여 문제의 가능한 원인인 WINS(Windows Internet Naming Service)를 해결할 수 있습니다. | ||||||||||||||||||||||||||||||||||||||||
• | 다른 RPC 프로그램으로 기본 RPC 연결을 테스트할 수 있습니다. Windows NT Server에는 여러 가지 RPC 프로그램이 포함되어 있습니다. 이벤트 뷰어(Eventvwr.exe)와 레지스트리 편집기(Regedt32.exe)는 Windows NT를 실행 중인 컴퓨터에 자신의 포커스를 설정할 수 있습니다. 사용자 관리자(Usrmgr.exe)와 서버 관리자(Srvmgr.exe) 같은 다른 프로그램도 기본적으로 주 도메인 컨트롤러(PDC)에 자신의 포커스를 설정합니다. 그 외의 RPC 연결 테스트로 이러한 프로그램 중 하나를 사용합니다. | ||||||||||||||||||||||||||||||||||||||||
• | 네트워크 연결을 테스트하려면 성능 모니터(Perfmon.exe)를 사용하여 네트워크를 통한 기본 파일 복사 속도를 모니터링합니다. 테스트에 적절한 샘플링 시간을 제공하고 세그먼트화와 순서화를 완전 허용하도록 크기가 2MB 이상인 파일에서만 테스트합니다. 성능 모니터를 사용하여 네트워크 간 파일을 복사하려면 다음과 같이 합니다.
| ||||||||||||||||||||||||||||||||||||||||
• | 두 컴퓨터 간의 RPC 통신을 테스트하는 다른 방법은 Rpcping 도구를 사용하는 것입니다.Rpcping 도구를 사용하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
167260 (http://support.microsoft.com/kb/167260/KO/) XCLN:RPCPing을 사용하여 RPC 통신을 테스트하는 방법 | ||||||||||||||||||||||||||||||||||||||||
• | 클라이언트 컴퓨터나 서버 컴퓨터에 다른 공급업체 서비스가 실행 중이거나 보다 큰 서비스가 실행 중이기 때문에 RPC 오류 메시지가 발생할 수도 있습니다. 해당 문제가 실행 중인 서비스 때문에 발생했는지 확인하려면 기본 서비스가 아닌 서비스를 모두 중지하고 이벤트 뷰어와 성능 모니터를 다시 사용하여 RPC 성능을 테스트합니다. | ||||||||||||||||||||||||||||||||||||||||
• | 클라이언트 컴퓨터와 서버 컴퓨터의 RPC 서비스 상태를 검사합니다. 이렇게 하려면 명령 프롬프트에서 net start를 입력한 다음 Enter 키를 누릅니다. 도메인 컨트롤러의 경우 다음과 같은 정보가 표시됩니다.
Remote Procedure Call (RPC) Locator Remote Procedure Call (RPC) Service | ||||||||||||||||||||||||||||||||||||||||
• | 이러한 서비스의 상태를 자세히 검사하려면 Microsoft Windows NT Resource Kit에 포함되어 있는 Sc.exe 도구를 사용합니다.Sc.exe 도구를 사용하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
166819 (http://support.microsoft.com/kb/166819/KO/) Sc.exe와 Netsvc.exe를 사용하여 원격으로 서비스 제어 | ||||||||||||||||||||||||||||||||||||||||
• | Services.exe에 RPC 코드 중 대부분이 포함되고 해당 스레드 중 하나가 멈춘 상태일 수 있습니다. 오류 메시지가 보고되었는지 확인하려면 Dr. Watson 도구(Drwtsn32.exe)를 사용합니다. 오류 메시지가 보고되지 않은 경우에도 해당 스레드 중 하나가 멈출 수 있습니다. 이러한 경우에는 컴퓨터를 다시 시작해야 할 수 있습니다. | ||||||||||||||||||||||||||||||||||||||||
• | Windows NT Resource Kit에 포함되어 있는 Tlist.exe 도구를 사용하면 다음과 비슷한 정보를 얻을 수 있습니다. 62 Win32StartAddr:0x022a3ca1 LastErr:0x000003e5 State:Waiting 64 Win32StartAddr:0x022a4895 LastErr:0x00000000 State:Waiting 67 Win32StartAddr:0x76e03f90 LastErr:0x00000000 State:Waiting 4.0.1381.4 shp 0x02290000 services.exe 4.0.1381.4 shp 0x77f60000 ntdll.dll 4.0.1381.4 shp 0x77e10000 RPCRT4.dll상태, 파일 및 날짜를 검사하면 자세한 정보를 얻을 수 있습니다. | ||||||||||||||||||||||||||||||||||||||||
• | Windows NT Resource Kit에 포함되어 있는 Pmon.exe 도구 작업 관리자를 사용하면 Services.exe에 대한 정보(예: 메모리 및 CPU 사용량)를 얻을 수 있습니다. | ||||||||||||||||||||||||||||||||||||||||
• | Windows NT Resource Kit에 포함되어 있는 Pstat.exe 도구는 Services.exe의 스레드 상태를 표시합니다. |