負荷分散や高可用性のためにクラスタを構築する苦労がまったく不要なのがGAEのすごいところ。本当にそうなのか、モヤモヤしていたのでMLに聞いてみた。
もしわかる方がいれば教えていただきたいのですが、1つのアプリケーションに対してリクエストが増えてきたときに、AppMasterから新たにデプロイされて、複数のAppServerによって並列に処理されるようになっているんでしょうか、それとも、1つのアプリケーションは1AppServerのキャパまでしか対応できないんでしょうか。
「多数のアプリを同時に収容し、アプリ間の隔離性を確保する」
ところまでは理解しているのですが、1アプリのスケーラビリティについて確認したかったもので、質問させていただきました。
いろいろな方の回答があったのだが、そのなかでも実際の挙動に触れていて、一番信憑性がありそうなのは以下のポストだった。まあ、実際に確認するのはちょと難しそうだが、GAEでプロバイドすることでスケーラビリティが確保されることは確かなようである。
メーリングリストより
このあたりの話は
http://groups.google.com/group/google-appengine/browse_thread/thread/2e65d8bc50f6bfd9/e6187c2f6052d6aa?show_docid=e6187c2f6052d6aa&pli=1
が参考になると思います。
簡単にまとめると、自分が作ったGAEアプリケーションに高負荷試験を仕掛けたけど、全然スケールしないじゃないか、と言っている人に対して、「GAEは通常の利用のされ方に関してスケールするようにできている」として、少しずつ負荷を上げていかないとだめだよーんという説明が書かれています。
また、
On 6月18日, 午後12:19, Atusi Nakamurawrote:
> ある時点で、アクセスの急増が予想されるのであれば、1時間以上
> 前から自分で負荷を与え続けて処理能力を増やしておくと良いかもしれな
> いと言われました。
に関してですが、ひとつのソースから負荷を与えつづけても、DOSアタックとして認識されてしまい、処理能力は増えないのではないかという話も書かれています。実際このスレッドの最後の記事は、「ゆっくり負荷を上げているけど、やっぱりだめだよー」という内容になっています。
# これに関して誰もコメントを付けていませんが。
--
toh
0 件のコメント:
コメントを投稿