문제

다음 응용 프로그램에 가장 적합한 설정이 무엇인지 묻고 싶습니다.

ASP.NET 3.5 웹 사이트 - 프리젠 테이션 계층, 많은 Ajax 및 JS로 사용됩니다. 서버에 많이 부딪치지 않습니다.

ASP.NET WCF- 모든 데이터를 애플리케이션에 제공하는 Sevice. 유효성 검사, 데이터 모델링 / 준비 및 DB 서버와의 통신을 담당합니다.

데이터베이스 -SQL Server 2005 STD, 일부 논리는 저장 프로 시저로 서버 측에 코딩됩니다. 논리 중 일부는 약간의 시간이 걸릴 수 있습니다. 제 생각에는 앱에서 가장 자원을 소비하는 부분입니다.

웹 사이트는 분당 최대 1000 명의 사용자를 가질 수 있습니다. 다음 구성에는 최대 4 개의 서버를 가질 수 있습니다. Intel Bi Xeon Quad 8x 2.00+ GHz, 16GB RAM, SSD 또는 RAID 드라이브.

응용 프로그램의 일부를 실제 서버에 배치하는 가장 좋은 방법은 무엇입니까? 그들은 이런 종류의 부하를 처리할까요?

도움이 되었습니까?

해결책

당신이 설명하는 응용 프로그램에서, 나는 스레드 관리가 큰 문제가 될 것이라고 생각합니다. 문제에 하드웨어를 던지는 것이 최선의 방법이 아닐 수 있습니다.

분할 측면에서, 캐싱 및 캐시 알림과 같은 것들을 활용할 수 있는지 여부에 따라 다릅니다. 앱에 대한 모든 호출이 DB를 치고 긴 저장 프로 시저를 실행 해야하는 경우 더 많은 DB 머신과 프론트 엔드 웹 서버가 적을 수 있습니다.

이것은 큰 주제입니다. 정확히 이런 종류의 질문에 대한 합리적으로 포괄적 인 답변을 제공하려는 시도에서 나는 그것에 관한 책을 썼습니다. 초고속 ASP.NET : ASP.NET 및 SQL Server를 사용하여 초고속 및 초 규모 웹 사이트 구축.

다른 팁

모든 응용 프로그램에서 덜 확장 가능한 위치는 데이터베이스 서버입니다. 더 많은 웹 및 응용 프로그램 서버를 추가 할 수 있지만 동일한 편의로 DB를 복제 할 수 없으므로 DB가 논리를 포함하지 않으면 장기적으로 이익을 얻을 수 있습니다. . 많은 애플리케이션에서 제한 요소는 CPU가 아니지만 메모리 사용자 세션에 대한 메모리를 생각해보십시오. 사용자 당 1MB의 데이터를 저장하는 경우 응용 프로그램은 충분한 경우에 64,000 Silmantanius 사용자 세션을 지원할 수 있습니다. 애플리케이션 레벨 캐싱을 사용하여 두 문제를 모두 완화 할 수 있지만 이제는 오래된 데이터에 직면했기 때문에 자체 문제가 발생할 수 있습니다. 세션 기반 사이트를 확장하려면 스티커 세션을 지원하는 스마트로드 밸런서 솔루션을 사용해야합니다. 하드웨어로드 밸런서가 필요할 가능성이 높습니다.

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