2012-03-22 2 views
0

같은 주제에 대해 비슷한 질문을 보았지만 문제를 해결할 수 없었습니다.ADO.NET 엔터티 프레임 워크 모델 성능

DB2 백엔드가있는 asp.net 웹 응용 프로그램이 있습니다. 그리고 엔티티 프레임 워크 모델 3.5 그래서 처음 페이지를로드 할 때 첫 번째 쿼리를 실행하는 데 15 초 가까이 걸립니다. 그리고 쿼리는 매우 간단합니다. 하나의 테이블에서 행을 선택하고 where 절을 인덱싱합니다. 이것은 쿼리입니다

protected Detail getProgramDetail(string id1,string id2, string id3) 
{ 
    Detail result = (from d in context.Detail 
      where d.id1.equals(id1) && 
      d.id2.equals(id2) && 
      d.id3.equals(id3) 
      select d).FirstorDefault(); 
    return result; 

    } 

나는 통계를 업데이트하려고했지만 어느 쪽도 도움이되지 않았습니다. 다른 성능 튜닝 관련 기사를 읽은 후에이 쿼리를 컴파일 된 것으로 만들었지 만 여전히 15 초 가까이 걸립니다. 그러나 후속 호출은 밀리 초 단위로 매우 빠릅니다. 나는 그 연결을 설정하고 쿼리를 실행하는 데 시간이 걸리는 것 같아요.

초기 성능을 향상시킬 수있는 방법이 있습니까? 뷰를 생성하려고했습니다. 하지만 아래 오류가 나타납니다. 이 것을 어떻게 처리해야할지 모르겠습니다.

지정된 저장소 공급자

구성에서 찾을 수 없습니다, 또는 는

내 연결 문자열의 machine.config에 유효하지 않습니다.

미리 감사드립니다. Srividhya

답변

0

초기 성능을 향상시킬 수있는 방법이 있습니까?

ASp.NET/Entity Framework가 아닌 IIS - 필요한 컴파일 작업을 포함하여 응용 프로그램 시작은 무엇입니까?)?

IIS를 시작할 때 페이지를 호출 할 수있는 확장 프로그램이 있으므로 응용 프로그램이 뜨거워서 (컴파일되고 메모리에로드 됨).

http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx

+0

의 첫 번째 또는 기본 최적화 사용할 수 있다면, 내 성능하지만 크게 도움을했다. 우리는 여전히 VS 2008을 사용하고 있으므로 컴파일 할 수는 없습니다. 두 번째 레벨 캐싱을 시도해야합니다. - Srividhya 29 초 전에 편집 – Srividhya

0

이 문제

1) 엔티티 프레임 워크 .This 기사와 함께 두 번째 레벨 캐시를 추가를 해결하기 위해 최선을 다하겠습니다 여러 옵션은 매우 도움이되고 있습니다 http://msdn.microsoft.com/hi-in/magazine/hh394143(en-us).aspx

2) 질의와 ORM은 잘 조화되지 않습니다. 성능을 확실히 최적화 할 수있는 저장 프로 시저와 Datareader를 사용할 수 있습니까?

3) 당신은 당신의 코드 내가 DB2에 대한 뷰를 생성 한

+1

DB2 용 뷰를 생성 했으므로 성능은 크게 향상되었지만 크게 도움이되지는 않았습니다. 우리는 여전히 VS 2008을 사용하고 있으므로 컴파일 할 수는 없습니다. 두 번째 레벨 캐싱을 시도해야합니다. – Srividhya

+0

@Srividhya 첫 번째 또는 기본 최적화를 시도 했습니까 – satish

관련 문제