2017-09-08 15 views
4

我不知道它是否有目的地完成,或者Azure的性能比AWS差。無論何時我冷啓動Azure功能,都需要一分鐘左右的時間。Azure函數 - 節點與.Net性能 - ColdStart

使用AWS,相同功能冷啓動小於一秒(接近250毫秒)。

我看到的是,Azure將所有功能代碼存儲在Azure存儲帳戶中,並通過網絡加載創建此延遲。這是與消費計劃。

如果我使用應用程序服務計劃來實現功能,那麼在現代應用程序中甚至可以使用它。它可以減少到3秒,但不會接近AWS的性能。

我可以通過其他方式提高Azure的性能,以便能夠快速啓動我的功能?

回答

4

我是Azure Functions團隊的成員。我可以向你保證,我們不是故意讓JavaScript變慢。它只是伴隨着我們仍在努力的一些挑戰。

正如你提到的,你得到60秒的冷啓動性能是由於加載了非常大量的小文件,這是典型的node.js的應用程序時所產生的網絡延遲。

我們目前的建議是爲您充分利用Azure-Functions-Pack。它使用webpack來顯着減少應用程序加載的文件數量。

我們正在進行一些改進,旨在使運行功能包的手動過程變得不必要。我們的目標是有一些在生產這些改進在2017年

+1

你有四種不同的形式和功能沒有什麼作品好晚些時候。以噸的方式部署函數,沒有什麼與規模一起工作。另一方面,有一種方法可以將代碼上傳到AWS,並且有一種方法可以執行代碼並且正常工作。使用功能需要大量的研究,並在一天結束時讓我感到浪費公司時間和個人時間。有了第一印象,每個開發人員/架構師都對該平臺的信心放鬆,因爲文檔中提到的東西並不起作用。 – Kannaiyan

+0

在.Net中實現可以提高性能嗎?或所有語言的問題?哪種語言的Azure功能應用程序的性能會提高? – Kannaiyan

+0

我使用了函數包,webpack,但性能仍不及AWS或生產系統。還有一個與包裝有關的問題是,如果有任何問題,它總是會在第1行上抱怨,這很難弄清楚。 – Kannaiyan