亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 GAE 中使用“golang”的成本/性能優勢是什么

在 GAE 中使用“golang”的成本/性能優勢是什么

Go
胡說叔叔 2021-09-13 14:43:21
就每個實例的配額/使用限制而言,在 Google appengine GAE 中使用golang而不是在 GAE 中運行的其他提供的語言(如 python、java、php 或所有這些語言的行為都相同)時,是否有任何顯著的改進/優勢?或者基本上任何實例,無論使用哪種語言,都以相同的方式運行,并且考慮到這更多地涉及“GAE 負載均衡器”或基礎設施,而不是使用的編程語言,因此每個實例幾乎可以處理相同數量的最大請求/秒,同樣的邏輯可以應用于內存,cpu 使用?
查看完整描述

1 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

App Engine 沒有明確的限制或限制,僅在使用特定語言時才適用。然而,這些語言及其技術可能意味著某些限制,例如,與啟動 Go 的內置 Web 服務器相比,Java 虛擬機實例本身需要更多的內存和更長的啟動時間(即使啟用了預熱請求),因此在 Java 實例的情況下,webapp 本身將保留更少的內存來分配和使用(對于特定的計劃/類型和實例)。

我沒有具體的措施來比較,但是(在 Go 的情況下):

“代碼以源代碼形式部署并在云中編譯......Go 是第一個在 App Engine 上運行的真正編譯語言。App Engine 上的 Go 使部署高效、CPU 密集型 Web 應用程序成為可能”。(來源)

如果你仔細想想,App Engine 中的其他語言都是解釋性的(包括 Java,它是由虛擬機解釋的字節碼),而 Go 被編譯成依賴于平臺的本機代碼并運行。這應該已經說明了一些關于性能的信息。

有關“案例研究”,請查看以下博客文章:

從零到 Go:24 小時內在 Google 首頁上發布

該博客還包含一些有關數百萬人使用的真實應用的性能報告:

http://img1.sycdn.imooc.com//613ef3220001792607510186.jpg

此圖表 - 直接取自 App Engine 儀表板 - 顯示啟動期間的平均請求延遲。如您所見,即使在負載下它也不會超過 60 毫秒,平均延遲為 32 毫秒??紤]到我們的請求處理程序正在即時進行圖像處理和編碼,這非???。

App Engine 使用 Go 標準庫中包含的網絡服務器來為您的應用程序提供服務,這也意味著您可以輕松地將 Go 網絡應用程序移植到 App Engine,并且您確切地知道從為您的應用程序提供服務的網絡服務器會得到什么在 App Engine 上。

找到 Python、Java 和 Go 的官方時間比較

App Engine的系統狀態可以被認為是官方和良好的比較基礎。

您可以單擊屬于特定日期和語言的任何單元格,您可以獲得靜態和動態 GET 延遲(安全和不安全)、錯誤率、CPU 使用率/延遲的詳細歷史統計數據。這些統計信息是在一個已經啟動并準備好提供服務的實例上測量的。

2015 年 1 月 27 日這一天的分析,以下是Go、Java和Python的結論:

  • 所有動態延遲大致相同

  • CPU的等待時間(計算33Fibonacci數)是最好的Java,然后去和最慢的是Python的。

  • 靜態文件服務時間大致相同,但 Go 最快。


查看完整回答
反對 回復 2021-09-13
  • 1 回答
  • 0 關注
  • 216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號