문제

하나의 웹 서버가 처리할 수 있는 트래픽은 얼마나 됩니까?우리가 그 이상인지 확인하는 가장 좋은 방법은 무엇입니까?

수백 명의 사용자가 있는 ASP.Net 응용 프로그램이 있습니다.그 측면은 상당히 프로세서 집약적이지만 지금까지는 SqlServer와 사이트를 모두 실행하기 위해 단 하나의 서버만으로 문제 없이 수행했습니다.Windows Server 2003, 3.4GHz, 3.5GB RAM을 실행하고 있습니다.

하지만 최근에는 여러 번 느려지는 것을 느끼기 시작했고, 응용 프로그램 사용으로 인해 서버가 과부하되었는지 또는 응용 프로그램을 수정하기 위해 뭔가를 해야 하는지 판단하는 가장 좋은 방법이 무엇인지 궁금합니다. 내가 상자에서 너무 많은 것을 기대한다면 작은 최적화를 찾는 데 많은 시간을 보내고 싶습니다.)

도움이 되었습니까?

해결책

필요한 정보는 다음과 같습니다. 용량 계획..

용량 계획은 시스템 및 응용 프로그램 용량 요구 사항을 충족하기 위해 성장을 계획하고 최대 사용 기간을 예측하는 프로세스입니다.여기에는 로드 시 애플리케이션의 리소스 활용도와 트랜잭션 처리량을 설정하기 위한 광범위한 성능 테스트가 포함됩니다.먼저, 현재 사이트에 들어오는 방문자 수와 각 사용자가 서버에 대해 요구하는 양을 측정한 다음 현재와 미래를 지원하는 데 필요한 컴퓨팅 리소스(CPU, RAM, 디스크 공간 및 네트워크 대역폭)를 계산합니다. 사용 수준.

다른 팁

일부 프로파일링 도구(예: Visual Studio의 Team Suite 버전에 있는 도구)에 액세스할 수 있는 경우 테스트 서버를 설정하고 이에 대해 합성 요청을 실행하여 코드의 특정 부분이 비합리적으로 오래 걸리는지 확인할 수 있습니다. 달리다.이 작업을 수행하기 전에 시간 경과에 따른 CPU 및 메모리 사용량 그래프를 확인하여 그럴 수 있는지 확인해야 합니다.(UNIX "로드 평균"과 유사한 숫자는 유용한 측정 기준이 될 수 있지만 Windows에 이와 유사한 것이 있는지는 모르겠습니다.기본적으로 모든 시간 조각에 대해 CPU 시간을 원하는 평균 스레드 수입니다.)

또한 대역폭이 부족하지 않은지 확인하십시오.

측정, 측정, 측정.Rico Mariani는 항상 이렇게 말하는데, 그가 옳습니다.

요청/초, RAM, CPU, 세션 등을 측정합니다.

캐싱 전략(출력 캐싱, 데이터 캐싱, 캐싱 종속성 등)을 생각해 낼 수 있습니다.

SQL Server의 성능도 확인하세요.인덱스는 시작하기 좋은 곳이지만 살펴봐야 할 유일한 것은 아닙니다.

해당 하드웨어에서 .NET 애플리케이션은 초당 약 200-400개의 요청을 처리할 수 있어야 합니다.사용자가 수백 명에 불과하다면 초당 2개의 요청도 볼 수 없을 것입니다. 따라서 SQL Server가 실행 중이더라도 해당 상자에 많은 용량이 있다고 생각합니다.

자세한 내용을 다 알지 못한 채 이렇게 말하겠습니다. 아니요, 서버를 추가해도 성능이 향상되지 않습니다.

그건 그렇고, 당신이 출력 캐시, 나는 거기에서 시작할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top