我昨天在 australia-southeast1 區域運行了該應用程式的一個實例(真為我感到羞恥)。
昨晚是該應用程式的關鍵時刻;人們依賴它完美地工作,然後在活動進行到一半時,實例就消失了。大約8分鐘後,一個新實例建立完成並繼續提供流量。
這是我該期待的嗎?實例隨機消失並重新啟動?我意識到我應該運行幾個版本,但是如果兩個版本同時重新啟動怎麼辦?
應用程式(標準的簡單 Rails 應用程式)重新啟動時,日誌不會顯示任何錯誤。日誌只有 8 分鐘的間隙,然後 Puma 在新實例中啟動。
CPU 使用率保持恆定,很少超過 5% 左右。記憶體使用量約為 840MB,重啟前略有峰值,為 880MB。 「磁碟位元組」恆定為約 15KB/秒,在重新啟動時出現 40MB/秒的大幅峰值。
應用程式.yaml
entrypoint: bundle exec rackup -p $PORT
env: flex
runtime: ruby
handlers:
- url: .*
script: main.app
secure: always
automatic_scaling:
min_num_instances: 1
max_num_instances: 4
cpu_utilization:
target_utilization: 0.75
答案1
答案2
與我類似的問題;新的健康檢查不檢查申請,只有 VM 和 Docker(除非你設定它們來檢查你的應用程序,而我沒有),所以很明顯問題出在應用程式引擎本身。
編輯:不確定為什麼否定,但為了更清楚地說明這一點。
是的,您應該期望它們會隨機重新啟動實例。您看到的行為不是由您的應用程式引起的。