2014-12-22 6 views
9

Azure 웹 사이트를 배포하는 데 사용하는 사용자 정의 deploy.cmd 파일이 있습니다. Typescript와 minifier의 nodejs 버전을 설치 한 다음 단위 테스트를 실행하여 웹 사이트 자체를 구축하고 배포하는 것과 같은 몇 가지 사용자 지정 작업을 수행합니다.Azure 웹 사이트에서 매우 느린 Kudu 배포

내가 겪고있는 문제는 적어도 Azure에서이 스크립트를 실행하는 데 점점 더 오랜 시간이 걸리는 것 같습니다. 내 개발 랩톱에서는 deploy.cmd 스크립트를 실행하는 데 약 90 초가 걸립니다. 하지만 Azure에서 실행하면 15 ~ 20 분 (30 ~ 40 분 정도 소요될 수 있음)이 소요됩니다. 나는 그것이 웹 서버에서 더 오래 걸리는 것에 놀라지 않는다 - 나는 이다. 조금 더 놀랍다. 10 배 이상 걸린다.

Command: deploy.cmd 
18:54:16.89 - Starting deploy script 
18:54:19.92 - Installing typescript 
18:54:30.90 - Installing minifier 
18:54:44.62 - Restoring Nuget Packages 
18:55:48.25 - Building solution 
18:59:09.12 - Building test projects 
19:04:03.67 - Running Payboard.Common.Tests.dll 
19:04:19.80 - Running Payboard.Model.Tests.dll 
19:04:25.25 - Running Payboard.Services.Tests.dll 
19:06:29.72 - Running Payboard.Integrations.Tests.dll 
19:06:49.46 - Running Payboard.Web.Tests.dll 
19:07:56.99 - Beginning KuduSync 
19:08:03.16 - Finished successfully. 

분명히이 시간의 대부분을 복용하는 두 개의 빌드 단계입니다 :

여기에 최근 배치를위한 로그 파일의 버전을 박탈합니다. KuduSync에서 어떻게 작동하는지 완전히 확신 할 수는 없지만, 이들을 하나의 빌드 단계로 병합 할 수 있다고 생각합니다.

속도를 높이는 방법에 대한 다른 제안 사항이 있습니까? 아니면 기본적으로 예상되는 것입니까?

+0

무료, 기본 또는 표준 티어로 운영되는 웹 사이트입니까? 인스턴스 크기는 얼마입니까? 처리 병목 현상이있을 수 있습니다. 자세한 내용은 다음을 참조하십시오. http://azure.microsoft.com/en-us/pricing/details/websites/ –

+0

단일 코어가 기본입니다. 나는 그것을 이중 코어에 부딪 치려고 노력할 것이다. –

+0

그냥 따라와. "표준"인스턴스의 크기를 이중 코어까지 늘리는 것이 도움이되지 못했습니다. 마지막 배포에는 30 분이 걸렸습니다. –

답변

0

나는 nodej를 언급 할 때 빌드의 일부로 다운로드되는 npm 패키지가 있다고 생각합니다. 로컬 시스템에서는 이미 존재하지만 Kudu는 매번 깨끗한 폴더에서 복원합니다.

둘째, 약 5 분의 빌드 시간이 테스트 프로젝트를 빌드 (및 실행 예정)하는 데 소비됩니다. 배포 워크 플로에 의도적으로 필요하지 않으면 플래그를 통해 켜는 것이 좋습니다.

+0

예, azure는 노드 패키지의 많은 작은 파일을 처리 할 수 ​​없습니다. 스토리지 시스템은 테이프 드라이브가 느립니다. –