2014-04-22 1 views
1

내 그룹에서 RazorEngine을 사용하여 다양한 웹 페이지를 생성합니다. 그러한 템플릿 중 하나는 ~ 200KB 크기입니다. 대체 할 약 60 개의 토큰 항목이 있습니다. 볼 수있는 템플릿의 실제 Razor/C# 로직이 없습니다. 다음 전화를 사용 중입니다.RazorEngine 3.4.1.0 AWS EC2가 느림

returnContent = Razor.Parse(content, model, cacheKey); 

문제는 Windows 2008 R2를 실행하는 AWS 서버에서 페이지를 구문 분석하는 데 약 20 초 걸립니다. 나도 면도칼로 전화를 끊었 어. 컴파일러와 면도기. 런. 20 초는 면도기에서 나온거야. 런. AWS 인스턴스의 크기는 적당합니다 (c3.xlarge). CPU 나 메모리를 차지하는 것 같지는 않습니다.

하나를 제외한 모든 @ 기호를 제거하면 구문 분석이 1 초 미만으로 내려갑니다.

키커는 60 개의 토큰 참조가있는이 동일한 코드와 템플릿을 VS2006에서 랩톱으로 실행하면 1 초 이내에 반환됩니다.

RazorEngine이 서버에서 오랜 시간이 걸리는 이유에 대한 아이디어가 있으십니까? 감사.

+0

더 많은 기이함. Redgate ANTS를 사용하여 서버의 웹 사이트를 프로파일하면 Razor.Parse 호출에 1 - 2 초가 걸립니다. ANTS 프로파일 링은 서버에서 IE를 사용하여 호출합니다. 그런 다음 서버에서 IE의 URL을 수동으로 호출하면 Razor.Parse를 실행하는 데 약 20 초가 걸렸습니다. 어떤 아이디어? – user1574808

답변

0

이 질문을 무시하십시오. 실수로 각 수신 전화에서 TemplateService를 재설정했습니다. 이로 인해 모든 호출에서 템플릿이 다시 컴파일됩니다.

+0

더 이상 문제가 없으면 질문을 닫거나 삭제하십시오. – Icemanind

관련 문제