2009-11-02 7 views
1

8GB RAM과 Windows Server 2003 Enterprise가 설치된 2 x 쿼드 코어 제온 서버가 있습니다. .NET Framework 3.5를 기반으로하는 응용 프로그램 서버를 설치했습니다. 서버는 SQL Server 2005를 데이터베이스 서버로 사용합니다.Windows 2003에서의 .NET 응용 프로그램 성능 문제

응용 프로그램 서버를 설치할 때 성능이 매우 빨랐으며 모든 것이 잘되었습니다. 우리 도메인에 합류하면 성능이 크게 떨어졌습니다. 예를 들어, 완료하는 데 1 초가 걸린 작업은 이제 약 30 초가 걸립니다. .NET 기반 응용 프로그램의 성능에는이 성능 저하가 있지만 다른 응용 프로그램은 여전히 ​​정상 속도로 실행되기 때문에 이것은 매우 이상합니다.

왜 이런 일이 일어나는 지 아는 사람이 있습니까? 어떤 도움이나 제안이라도 대단히 감사합니다.

+0

자세한 내용은이 응답해야한다. 어떤 종류의 응용 프로그램 (asp.net, NT 서비스, winforms)에 대해 이야기하고 있습니까? 이 응용 프로그램은 무엇입니까 (SQL 2005 데이터베이스 쿼리 이외)? –

+3

다른 하드웨어를 사용하기 전에 도메인에 가입하면 더 빨리 실행 되었습니까? 아니면 처음 도메인에서 응용 프로그램을 사용 했습니까? – adrianbanks

+0

@Darin : 서버는 C#을 사용하여 작성된 콘솔 응용 프로그램입니다. 클라이언트는 원격 연결을 사용하는 winform 응용 프로그램입니다. –

답변

1

내 질문에 대한 답변을 찾았으니 여기에서 공유하는 것이 좋습니다. CLR은 어셈블리를로드하려고 할 때 Authenticode 서명이있는 어셈블리에 대한 게시자 증명을 생성하려고합니다. CLR이 clr.microsoft.com에 연결하려고 시도했지만 우리 서버의 인터넷 액세스가 차단되어 응용 프로그램 서버가 새 어셈블리를로드하려고 할 때마다 막대한 지연이 발생했습니다.

다음 포스트는이 기능을 사용하지 않도록 설정하는 방법에 대해 설명 :

Bypassing the Authenticode Signature Check on Startup

3

불행히도 질문에 대답하는 데 더 많은 도움이 필요할 것입니다. 이 문제가 발생하는 이유는 여러 가지가있을 수 있으며 대부분 사용자의 코드가 관련되어 있습니다.

도메인에 가입 한 후 문제가 발생하기 시작했기 때문에 이전에 컴퓨터에서 로컬로 수행 할 수 있었던 많은 네트워킹이 있다고 할 수 있습니다. 대기 시간이 실제로 문제를 일으키고 있습니다.

하지만 이것은 정보가 충분하지 않은 것을 기반으로합니다.

코드를 프로파일하는 것이 좋습니다. 실행 중에 대부분의 시간이 소비 된 곳을 찾아 코드 또는 위생 처리 된 버전을 게시하여 최적화 할 수 있도록하십시오.

+1

실제로 네트워크 해상도가 도메인 확인에 영향을받지 않아야합니다. –

+0

우수한 포인트. 아아, 우리는 아직 @O로부터 답장을받지 못했습니다. 주제에 대한 Askari. – Randolpho

+0

많은 그룹 및/또는 여러 도메인이있는 경우 그룹 구성원 조회가 될 수도 있습니다. – adrianbanks

0

여기서 추측을하고 웹 응용 프로그램에 대해 이야기하고 있다고 생각합니다. 이것이 올 바르면 웹 서버에 설정 한 응용 프로그램 풀을 살펴볼 수 있습니다. 응용 프로그램이 실행을 시작할 때 자신을 설정할 풀에 대해 혼란 스러울 수 있습니다.

확인해야 할 또 다른 사항은 데이터 연결 일 수 있으며 열린 모든 항목을 닫아야합니다.

Randolpho가 말한 것처럼 마지막으로 프로파일 러를 사용하여 코드 실행을 추적하고 어떤 것이 묶여 있는지 확인해야합니다.

행운을 빈다.

+0

답변 해 주셔서 감사합니다. 죄송합니다. 더 자세한 정보를 제공하지 않았습니다. 우리의 응용 프로그램 서버는 현재 콘솔 응용 프로그램으로 실행되고 있지만 일단 서버를 프로파일 링하려고 시도하면 Windows 서버로 실행됩니다. –

관련 문제