2017-01-19 1 views
0

그래서 우리는 5 대의 서버로 구성된 VM웨어를 사용하는 VM 환경을 가지고 있습니다.웹 서버의 모든 웹 사이트 100 %

  • : 데이터베이스 서버,

    • 데이터베이스 서버는
    • 파일 서버는로드 밸런싱 구성에서
    • 3 개 웹 서버

    다른 주 (모든 사이트 콘텐츠가 여기에있다) 응용 프로그램 웹 사이트는 .NET 3.5

  • 을 사용합니다. R2 표준 IIS 7.5
  • 각 가상 웹 서버는 4 개 코어와 16 기가 바이트 램과 제온 2680을 실행하는 Windows Server 2008을 실행하는 웹 서버
  • 데이터베이스 서버는

이 전달 각 웹 서버에 약 30 개의 웹 사이트가 있습니다 괜찮습니다 라운드 로빈을 통해 물리적로드 밸런서가

각 별도의 웹 사이트에는 별도의 콘텐츠 서버에있는 주 웹 사이트 폴더 밖에있는 SharedContent라는 가상 디렉터리가 있습니다. 폴더 공유 및 모든 웹 사이트

에 대한 가상 폴더로 매핑되는 것을

그래서 모든 웹 사이트는 동일한 폴더에서 이미지, 예고편을 빼냅니다. 현재 루트 폴더에는 약 1400000 개의 파일이 있고 공유 콘텐츠 폴더에는 7 개의 하위 폴더에 몇 천 개가 있습니다.

문제는 모든 웹 서버가 100 % CPU로 이동하여 더 많은 요청이 처리되면서 모든 웹 사이트가 응답하지 않는 문제입니다. 응용 프로그램이 서버는 우리가 SharedContent 폴더 함께 할 수있는 뭔가로 그것을 의심되는 모든 한 ASP.NET 파일 기반 캐싱을

를 사용하도록 구성되어

웹 사이트 (503)를 반환 시작, ASP.NET 3.5을 기반으로 그 안에있는 파일들. 우리는 공유 폴더 (모든 사이트의 가상 디렉터리로 매핑 됨)에 약 30 개의 파일을 수동으로 이동시키는 테스트를 수행했습니다. 처음에는 파일 서버가 100 % CPU를 정점으로 (아마 파일을 다시 인덱싱 한 다음)이 효과를 모든 3 개의 웹 서버에 계단식으로 연결했습니다 모든 웹 서버가 CPU를 100 % 사용하고 거기에 머물렀습니다.

웹 서버를 다시 작동시키는 유일한 방법은 리소스 관리자에서 높은 CPU 사용량으로 프로세스를 종료하는 것입니다.

우리가 모르는 왜 이런 일이 발생 - 우리는 우리가 모르는 무엇

은 무엇이며 결국 하위 폴더를 만들고 거기에 파일을 이동합니다 해당 폴더에 파일을 배포하는 패치에 노력하고 있습니다 그 이유?- 몇 가지 파일 (20-30 개의 파일 복사)을 해당 폴더에 빠르게 추가하면 CPU가 파일 내용 서버를 먼저 쏘고 모든 웹 서버가 하나씩 최대 100 % CPU 사용량을 줍니 다.

정전 :

  • 트래픽은
  • 작업이 정상이었다 정상이었다 - 더 큰 파일이 갑자기 해당 폴더 사람이 일이 왜 어떤 생각이있는 경우

에 추가되고 있지? 또는 이것 뒤에 이유?

이전에 이와 같은 경험이있는 사람이 있습니까?

업데이트 : 20/1/17

모든 웹 사이트는 각 웹 서버에 자신의 응용 프로그램 풀을 가지고있다.

그 당시 이벤트 뷰어에 추가 된 유일한 오류는 요청 시간 초과입니다.

인프라가 지난 8 월 실제 환경에서 VM으로 마이그레이션되었으며 문제가 발생하지 않았습니다.

2016 년 11 월 말에 3 개의 웹 사이트가 .net 4.5로 업그레이드되었으며 나머지는 여전히 .net 3.5에있었습니다. 이 문제의 첫 번째 사례는 12 월 말에 발생했습니다.

최대 사용 기간에 최대 100 % CPU를 사용하는 SharedContent 폴더에 다른 사용 권한 역할을 추가하려고 시도했습니다. 수술을 취소해야했습니다.

트래픽이 정상적으로 발생했습니다.

SharedContent는 매핑 된 드라이브로 구성됩니다.

+0

어딘가에 메모리 누수가 있습니다. – Asdfg

+0

100 % CPU를 치는 특정 작업자 프로세스입니까? 또한 기술적으로 가능한 한 많은 양의 파일을 하나의 폴더에 저장할 때 여러 폴더에 1.4M 파일을 분류 할 수있는 문제가 발생했습니다.또한 모든 콘텐츠가 1 개의 콘텐츠 서버에서 나오므로이 상자와 콘텐츠 상자와 웹 서버 사이의 "네트워크"에 많은 스트레스를 줄 수 있다고 생각할 수 있습니다. – Liam

+0

모든 웹 사이트 프로세스에서 발생합니다. 그것은 3 개의 웹 서버 모두에 캐스케이드 (cascade)되어있는 것으로 보이며 그 모두가 100 %를 쳤습니다. 예. 모든 내용은 파일 서버에 저장되고 웹 서버는 파일 서버에 매핑됩니다. Sharedcontent 폴더가 기본 웹 사이트 폴더 밖에 있습니다. 내가 이해하지 못하는 것은 3 웹 서버 모두에게 어떻게 연결 되는가? VM 간의 내부 링크는 1 기가비트입니다. – KevinC

답변

0

다음은 내가 확인할 것입니다.

모든 웹 사이트에 자체 응용 프로그램 풀이 있거나 각 서버의 30 개 사이트간에 공유되어 있습니까?

100 %를 사용하는 정확한 프로세스를 격리 했습니까?

이벤트 뷰어에 오류가 추가됩니까?

외부 트래픽/내부 트래픽이 급증하고 있습니까?

VM 호스트에서 오류가 발생합니까?

실제 CPU가 vms에 과도하게 할당 되었습니까?

도메인 컨트롤러에있는 컴퓨터입니까? 상자에서 어떤 종류의 업데이트 활동이 실행되고 있습니까?

공유 된 콘텐츠, 매핑 된 드라이브 또는 MS 분산 파일 시스템은 어떻게 처리됩니까? DFS를 사용하는 경우 토폴로지는 무엇입니까?

+0

원래 게시물에 추가 정보 추가 – KevinC