2014-12-22 28 views
9

Tôi có một tệp tùy chỉnh deploy.cmd mà tôi sử dụng để triển khai trang web Azure của mình. Nó thực hiện một vài điều tùy chỉnh như cài đặt các phiên bản nodejs của Typescript và một minifier, và sau đó chạy các kiểm thử đơn vị, trước khi xây dựng và triển khai chính trang web đó.Triển khai Kudu rất chậm trên các trang web Azure

Sự cố tôi đang gặp phải là có vẻ như mất nhiều thời gian để chạy tập lệnh này, ít nhất là trên Azure. Trên máy tính xách tay dev của tôi, phải mất khoảng 90 giây để chạy tập lệnh deploy.cmd. Nhưng khi tôi đang đẩy nó ra trên Azure, phải mất một cái gì đó giống như 15-20 phút để chạy (và đôi khi trở lên 30-40 phút). Tôi không ngạc nhiên khi việc này mất nhiều thời gian hơn trên máy chủ web - Tôi am một chút ngạc nhiên khi việc này mất hơn 10 lần.

Dưới đây là phiên bản rút gọn của file bản ghi cho một triển khai gần đây:

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. 

Rõ ràng đó là hai bước xây dựng được lấy phần lớn thời gian. Tôi cho rằng tôi có thể hợp nhất chúng thành một bước xây dựng duy nhất - mặc dù tôi không hoàn toàn chắc chắn về cách làm việc với KuduSync.

Bất kỳ đề xuất nào khác về cách tăng tốc độ này? Hay điều này về cơ bản chỉ là mong đợi?

+0

Đây có phải là trang web chạy trên tầng Tự do, Cơ bản hoặc Chuẩn không? Kích thước cá thể là gì? Có thể có một nút cổ chai đang xử lý. Chi tiết ở đây: http://azure.microsoft.com/en-us/pricing/details/websites/ –

+0

Đó là tiêu chuẩn với một lõi đơn. Tôi sẽ thử đẩy nó lên một lõi kép. –

+0

Chỉ cần theo dõi. Bumping kích thước của "tiêu chuẩn" dụ lên đến một lõi kép dường như không giúp đỡ. Lần triển khai cuối cùng của tôi mất 30 phút. –

Trả lời

0

Tôi nghi ngờ rằng với việc đề cập đến nodejs, có một loạt gói npm đang được tải xuống như một phần của bản dựng. Trên máy cục bộ của bạn, chúng đã có sẵn nhưng Kudu đang khôi phục chúng trong một thư mục sạch mỗi lần.

Thứ hai, khoảng 5 phút thời gian xây dựng của bạn được chi cho việc xây dựng (và có thể đang chạy) các dự án thử nghiệm. Trừ khi có ý định và yêu cầu trong quy trình làm việc triển khai, tôi khuyên bạn nên bật nếu tắt thông qua cờ.

+0

Vâng, azure không thể xử lý nhiều tệp nhỏ của các gói nút. Hệ thống lưu trữ của nó là ổ đĩa băng chậm. –

Các vấn đề liên quan