2010-07-15 4 views
2

최근에 많은 개선이 필요한 프로젝트를 발견했습니다. 그래서 나는이 웹 애플리케이션의 로딩 속도를 향상시킬 수있는 몇 가지 기술을 웹에서 검색하기 시작했다.ASP.NET의 코딩 성능 향상

잠시 후 나는 몇 가지 기술을 발견했지만 몇 초 만에 향상되었습니다.

친애하는 공동 프로그래머는 알고있는 코딩/향상 기술을 입력하십시오.

나는 더 확실한들과 함께 시작합니다 :

  1. 는 3 수준 중첩 루프 이상을 사용하지 마십시오.
  2. ASP에서 필요없는 컨트롤에 대한 viewstate를 사용 중지합니다 (예 : labels, div, 일반적으로 정적 값을 갖는 컨트롤). (이 주된 이유가 viewstate가이 컨트롤과에 대한 암호화 및 해시 값입니다이며 이에 대한 viewstate가 필요하지 않는 제어 그냥 암호화를 실행하고 그것을 해싱하여 응용 프로그램을 느리게 값)

감사 당신을 도와 주시고, 결국 나 같은 다른 후배들이 빠른 애플리케이션을 개발하도록 도와 주셨습니다.

편집 : 또한 내가 비주얼 스튜디오 매거진에서 이걸 발견 : http://visualstudiomagazine.com/articles/2005/11/01/optimize-aspnet-performance.aspx

+1

명확한 답변이 하나도 없으므로 커뮤니티 위키로 만들 것을 제안합니다. 그렇지 않으면 "로빈슨 crusoe " – Rippo

+1

최적의 최적화는 아마도 디자인 개선으로 이루어질 것입니다. http://downloads.gamedev.net/pdf/gpbb/gpbb1.pdf – MrFox

+0

글쎄, 내 대답에 몇 가지 요점을 지정했습니다, 제발 alook 걸릴 http://stackoverflow.com/questions/1340218/asp-net-website -slow-performance-on-production-server/1340629 # 1340629 –

답변

2

데이터베이스를 사용한다고 가정 할 때 가장 큰 영향을 줄 수있는 최적의 최적화 노력은 데이터베이스 수준입니다. 색인, 관계 및 쿼리를 확인하십시오. 필요하지 않은 정보는 쿼리하지 마십시오.

일반적으로 ASP.NET 개발자들은 ADO.NET의 임베디드 페이징 지원을 사용합니다. 대신 사용자 정의 페이징을 here으로 표시된대로 사용해야합니다.

큰 개체를 Session 및 ViewState에 저장하지 마십시오.

또한 웹 사이트를 구축 중이므로 Ramesh Vel가 제안한대로 클라이언트 파일이 사용자에게 과중하지 않도록해야합니다. 웹 사이트에 인쇄 품질의 이미지를 넣지 말고 무거운 HTML 페이지를 사용하지 마십시오. 또한 유사한 클래스를 그룹화하고 클래스 상속을 사용하여 CSS 파일을 최적화하려고 시도하십시오.

+0

개인적으로 나는 서버가 서버 대신에 클라이언트에 의해 처리되어야하는 부하에 대한 요청을 많이 가질 수 있기 때문에 클라이언트 컴퓨터에 부하를 남겨 두는 것이 좋은 생각이라고 생각합니다. do do – GxG

+0

나는 당신이 말한 것이 매우 정확하다고 생각하지 않습니다. 클라이언트 논리와 서버 논리는 완전히 다른 두 부분으로, 일반적으로 사용자의 스트레스를 공유하지 않습니다. 기본 시나리오는 다음과 같습니다. 사용자가 페이지를 요청하고 서버가 요청을 실행하면 페이지가 클라이언트에 반환됩니다. 실제로 클라이언트에 부하를 걸면 서버의 부하가 증가하고 사용자 편의성이 저하됩니다. 예를 들어 크기가 큰 이미지를 넣으면 클라이언트는 다운로드하는 데 오래 기다려야하며 웹 서버는 파일을 전달하기 위해 더 많은 작업을해야합니다. – SiN

+0

사실,하지만 일부는 클라이언트 측 코드로 서버 측 코드를 만드는 것을 언급했습니다. 예를 들어 두 개의 드롭 다운이있는 경우 첫 번째 초기화에서 서버가 완전히로드 한 두 번째 드롭 다운에서 첫 번째 값에서 하나의 값을 선택하여 두 번째 드롭 다운이 무의미한 데이터를 필터링해야합니다. 이것은 서버에 대한 왕복을 줄이기 위해 클라이언트 측 스크립팅을 사용하여 수행 될 수 있습니다. – GxG