簡體   English   中英

如何增加谷歌雲應用引擎的堆大小?

[英]How to increase the heap size of the google cloud app engine?

我現在正在為 Java 應用程序使用Google Cloud App Engine 標准環境,但我遇到了outOfMemory Error因為 Java 堆大小已被填滿。

我知道為什么因為我正在處理大量可能達到 1GB 的數據。 那么如何增加為在 App Engine 標准環境中運行的 Java 應用程序分配的堆大小?

默認情況下,App Engine Standard 使用只有 128MB 和 600MHz 處理器的 F 實例。 我們遇到了同樣的堆問題,我們最終“升級”到了更強大的 App Engine 標准實例。 您還可以切換到自動縮放基本或手動,這將使您更好地控制您的請求(例如,請求不再在 10 分鍾內超時)。 可以在此處找到有關不同實例類的更多信息為了應用更改,您必須更新appengine-web.xml並添加以下內容:

<instance-class>B4</instance-class>
<basic-scaling>
  <idle-timeout>60m</idle-timeout>
  <max-instances>10</max-instances>
</basic-scaling>

我通過移動到 java8 解決了我的問題,現在我使用 java 8 環境變量通過將它添加到 appengine-web.xml 來增加 java 堆大小

   <env-variables>       
        <env-var name="GAE_MEMORY_MB" value="1024M" />
        <env-var name="HEAP_SIZE_RATIO" value="90" />
    </env-variables>

除非可以使用 Cloud Storage 或 Datastore 來卸載某些數據,否則您應該考慮使用 Kubernetes 或 Compute 引擎,因為與GAE相比,它們允許進行更多微調並有更多選項可供選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM