2012-05-22 4 views
1

우리 시스템은 Entity Framework 기반 데이터 계층을 사용합니다. 최근 몇 개월 동안 우리는 EF에서 생성 한 엔티티를 데이터 전송, 비즈니스 로직 및 UI에 사용했습니다.CSLA.NET 프레임 워크의 성능

우리의 응용 프로그램이 점점 더 커지면서 우리는 별도의 비즈니스 계층을 만들기로 결정했고 CSLA.NET 프레임 워크를 사용하여이를 수행했습니다. 이것은 우리 시스템의 부하가 증가함에 따라 우리가 "확장"할 수 있도록 돕기로되어있었습니다.

우리는 새로운 BL을 작성하는 중공업입니다. 새 BL을 사용하기 위해 마이그레이션하기 전후에 애플리케이션 모듈의 성능을 비교했습니다. 거의 50 배 더 느린 성능을 느낍니다! 50 %가 아니기 때문에 50 배 더 느립니다.

BL을 도입하면 여분의 레이어로 인해 약간의 지연이 추가된다는 것을 알고 있지만 지연은이 크기가 될 것으로 예상하지 않았습니다.

정상입니까? 허용되는 도입 지연 (추가 된 레이어로 인해)과 "우리가 얻을 수있는 것보다 많은 부분을 잃었습니다"사이에 선을 그리는 기준이 있습니까

감사합니다.

답변

2

나는 그 일이 천천히 느껴질 것이라고 기대하지는 않지만, 경험으로 볼 때 ... 내 그룹은 작년에 CSLA (v4)를 사용하기 시작했으며, 우리가 한 첫 번째 앱 중 하나가 데이터. 목록에 대한 저장 프로 시저가 1 초 내에 반환되었지만 비즈니스 개체 Data Portal 메서드는 반환하는 데 10 초 이상이 걸렸습니다. 우리의 특별한 경우에, 문제는 결국 으로 각각 레코드가 목록 객체로로드되고있는 WCF 이벤트 공급자 클래스를 인스턴스화하는 것이 었습니다. 우리가 그 문제를 깨닫고 해결하자마자, 공연은 매우 형편 없었습니다.

CSLA를 사용하면 지연의 원인이 될 수는 없겠지만 잘못된 방식으로 사용하면 쉽게 문제가 발생할 수 있습니다.

+0

우리는 CSLA 프레임 워크를 사용하지 않았지만 프레임 워크 자체가 아닌 사용하는 방식에 문제가있는 것 같습니다. – wassim