1

課金が有効になっている AppEngine アプリケーションがあります。また、アイドル インスタンスを 1 つ設定し、保留中のレイテンシを 500 ミリ秒に設定しました。

問題は、新しいフロントエンド インスタンスのウォームアップが大量に発生することです。

このリクエストにより、アプリケーションの新しいプロセスが開始され、アプリケーション コードが初めて読み込まれました。したがって、このリクエストは、アプリケーションの通常のリクエストよりも時間がかかり、より多くの CPU を使用する場合があります。

アイドル状態のインスタンスをセットアップしたにもかかわらず、通常、数分間アクティビティがないと発生するため、これは驚くべきことです。アイドル インスタンスを 2 つ設定しても問題が解決しませんでした。

これは、お客様に多くの不満を引き起こしています。どんな助けでも大歓迎です。

ありがとう、ギラッド。

編集:

ログの添付:

2013-01-29 15:00:09.569 /gwtRequest 200 1169ms 0kb Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17
I 2013-01-29 15:00:08.455 [s~my-appengine-app/5.364695570610280531].<stdout>: NamespaceFilter - namespace is: *******
I 2013-01-29 15:00:08.976 com.*.common.server.rf.LogServiceLayerDecorator invoke: Server RF: Calling functionB()
I 2013-01-29 15:00:08.985 com.*.common.server.apis.MyService functionB: MyService-functionB: statId: 95001; someBean-Id:950010000001666; someBean-o
I 2013-01-29 15:00:09.564 com.*.common.server.apis.MyService functionB: MyService-functionB-finish:
2013-01-29 15:00:08.198 /gwtRequest 200 15664ms 0kb Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17
I 2013-01-29 14:59:59.928 com.google.inject.internal.util.$FinalizableReferenceQueue$SystemLoader loadFinalizer: Not allowed to access system class loader.
I 2013-01-29 14:59:59.957 com.google.inject.internal.util.$FinalizableReferenceQueue <init>: Failed to start reference finalizer thread. Reference cleanup will only occur when
I 2013-01-29 15:00:03.164 [s~my-appengine-app/5.364695570610280531].<stdout>: TRACE: Manifest file jar:file:/base/data/home/apps/s~my-appengine-app/5.364695570610280531
I 2013-01-29 15:00:03.166 [s~my-appengine-app/5.364695570610280531].<stdout>: INFO : Hibernate Validator 4.1.0.Final at org.hibernate.validator.util.Version.(Version.java:
I 2013-01-29 15:00:03.194 [s~my-appengine-app/5.364695570610280531].<stdout>: DEBUG: Found javax.persistence.PersistenceUtil on classpath. at org.hibernate.validator.engin
I 2013-01-29 15:00:03.199 [s~my-appengine-app/5.364695570610280531].<stdout>: INFO : Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResol
I 2013-01-29 15:00:03.209 [s~my-appengine-app/5.364695570610280531].<stdout>: DEBUG: No META-INF/validation.xml found. Using annotation based configuration only at org.hib
I 2013-01-29 15:00:03.860 [s~my-appengine-app/5.364695570610280531].<stdout>: NamespaceFilter - namespace is: *******
I 2013-01-29 15:00:07.796 com.*.common.server.rf.LogServiceLayerDecorator invoke: Server RF: Calling functionA()
I 2013-01-29 15:00:07.967 com.*.common.server.apis.MyService functionA: MyService-functionA: amountInCents: 1100; Id:-1799069631; statId:95001
I 2013-01-29 15:00:08.197 This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This requ
2013-01-29 14:49:01.044 /gwtRequest 200 740ms 0kb Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17
I 2013-01-29 14:49:00.365 [s~my-appengine-app/5.364695570610280531].<stdout>: NamespaceFilter - namespace is: *******
I 2013-01-29 14:49:00.411 com.*.common.server.rf.LogServiceLayerDecorator invoke: Server RF: Calling functionB()
I 2013-01-29 14:49:00.425 com.*.common.server.apis.MyService functionB: MyService-functionB: statId: 95001; someBean-Id:950010000001665; someBean-o
I 2013-01-29 14:49:01.032 com.*.common.server.apis.MyService functionB: MyService-functionB-finish:

ご覧のように:

1) functionB() は 14:49 に呼び出されます

2) 約 10 分間何も操作しない

3) functionA() は 14:59:59 に呼び出されます

4) functionA() により、新しいインスタンスが生成されます

5) 次の functionB() の呼び出しは、functionA() の呼び出しが終了したときにのみ呼び出されます。

4

1 に答える 1

0

レイテンシーをより高い数値に設定すると、アイドル インスタンスが設定したレイテンシーより長くリクエストを処理すると、新しいインスタンスが生成されます。

ログは、2 つの要求があることを示しています。1 つは 740 ミリ秒、もう 1 つは 15.6 秒かかりました。これは、740 ミリ秒の要求が開始されたときに、新しいインスタンスが読み込まれる原因となる要求処理 (15.6 秒) が既にあったことを意味します。

于 2013-01-29T14:53:39.477 に答える