2009-11-28 6 views
1

. 서버에 많은 영향을 미치지 않습니다.고성능 ASP.NET 설정

ASP.NET WCF - 모든 데이터를 응용 프로그램에 제공하는 서비스입니다. 유효성 검사, 데이터 모델링/준비 및 DB 서버와의 통신을 담당합니다.

데이터베이스 - SQL Server 2005 Std, 일부 논리는 서버 측에서 저장 프로 시저로 코딩됩니다. 일부 논리는 약간의 시간이 소요될 수 있습니다. 제 의견으로는 앱에서 리소스를 가장 많이 사용하는 부분입니다.

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

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

+0

[serverfault] (http://serverfault.com/)에서도이 질문을하면 좀 더 많은 답변을 얻을 수 있습니다. – LukeH

답변

0

당신이 설명하는 응용 프로그램에서 스레드 관리가 큰 문제가 될 것으로 생각됩니다. 이 문제에 하드웨어를 던지면 최상의 접근 방식이 아닐 수도 있습니다.

파티셔닝과 관련하여 캐싱 및 캐시 알림과 같은 기능을 활용할 수 있는지 여부에 달려 있습니다. 앱에 대한 모든 호출이 DB에 도달하고 긴 저장 프로 시저를 실행해야하는 경우 더 많은 DB 시스템과 더 적은 프런트 엔드 웹 서버가 필요할 수 있습니다.

큰 제목입니다. 이런 종류의 질문에 합리적으로 포괄적 인 답변을 제공하기 위해 나는 그것에 관한 책을 쓰게되었다 : Ultra-Fast ASP.NET: Build Ultra-Fast and Ultra-Scalable web sites using ASP.NET and SQL Server.

1

모든 응용 프로그램에서 확장 성이 떨어지는 데이터베이스 서버는 웹 서버와 응용 프로그램 서버를 더 추가 할 수 있지만 DB를 복제 할 수는 없으므로 특히 DB에 어떤 논리도 포함되어 있지 않으면 장기적으로 이점을 얻을 수 있습니다 장기 실행 로직. 많은 응용 프로그램에서 제한 요소는 CPU가 아니지만 메모리는 사용자 당 1MB의 데이터를 저장하는 경우 사용자가 응용 프로그램이 64,000 개의 사용자 세션을 지원할 수 있는지 여부를 판단 할 수 있습니다. 두 가지 문제는 응용 프로그램 수준 캐싱을 사용하여 완화 할 수 있지만 이제는 부실 데이터에 직면했기 때문에 문제가 발생할 수 있습니다. 세션 기반 사이트를 확장하려면 고정 세션을 지원하는 스마트로드 밸런서 솔루션을 사용해야합니다.로드에 대해서는 하드웨어 부하 분산 장치가 필요할 가능성이 큽니다.