このままいくと新価格に改定後、Google App Engineを使って無料でサイトを立ち上げる方法などを見て、立ち上げたサイトが1日たった数時間で無料枠オーバーで止まることになります。 私の無料枠内で運用テストしてるアプリですと こういう感じになりました。Instanceは24が一日当たりの無料枠です。
インスタンスをコストを最優先に設定するまずは、この設定にすればアクセス数が少なく現在無料枠で収まるなら、どうにかなるでしょう。App EngineのサイトからAdministrationのApplication Settingを選択して、真ん中のPerfomanceのMax Idle InstancesをAutoから1にMin Pending LatencyをAutoから15sとします。 Max Idle InstanceがAutoですと、アクセス数がたいしてなくても常に予備のインスタンスが起動していたり、アクセス数に合わせていくらでも増えるので高くなります。 Min Pending LatencyがAutoですと、下手すると10ms以上ユーザーを待たせないためだけに、余計なInstanceが起動してしまいます。 これらを一番遅い設定にすることで、コストを抑えることができるでしょう。 コスト優先でもQuotaによる停止の可能性は避けれない そこそこのアクセスがあると、だいたい1日中、1インスタンスが起動していますし、ピーク時に余計なインスタンスが起動することがあります。 (一瞬でも起動すると最低15分のインスタンスコストになります。) 1日当たりの、無料枠は1インスタンスが24時間分ですので、余計なのが立ち上がった分の数十分から1時間の停止の可能性は残ります。 ですので、ユーザーにサービスとして提供するのは困難が生じると思います。 上記の問題は9.9に無料枠に4時間追加で解決しました。 今のInstanceで十分さばけるのに、余計なIdel Instanceに料金かかるのは辛い(有料版だと常時インスタンスが立ち上がるので、余計なのは立ち上がりにくいはずです) ![]() FAQによるとMax Idle Instancesを超えたのは課金はされないとありますが、あくまでIdle Instanceなので、最悪 1 Activeと1 Idleの可能性はありそうです。この辺は請求書を見守りたいです。 Max Idle Instances: この設定値を減らせば、アイドル状態のインスタンスが減るので、コストを下げることができるでしょう。 コスト最優先の問題点パフォーマンスの悪さ極端な話、アクセス集中時に、これまでの数倍返すまで時間かかるので遅く感じるでしょう。 といってもこれまでが速すぎたので並のサーバーになるぐらいです。 Javaのスレッドセーフ化Javaの場合、オプションでマルチスレッド化すれば、少ないインスタンス数のままパフォーマンスをかなり改善できます。ただし、そのアプリがスレッドセーフで書かれていないといけません。 pythonは12月頃できろようになるみたいです。 Backendsを最大活用重い処理などはすべてBackendsを活用しましょう。せっかく1日 $0.72分もありますのでtaskquesが大量のインスタンスを作り出している場合呼び出し数を制限したり、Backendsを使うといいでしょう。他にコストを抑える方法より詳しくは、公式の翻訳記事など見てみてください。またデーターベースのSmall Datastore Operations:でコストが掛かりすぎる場合、Indexを減らすなどで改善できるみたいです。 あとは、JSONをパースしたりする場合、そのライブラリーの性能が影響することもあるようです。 |
Google App Engine >