• MODxで商用モバイルポータルは現状で運用に耐えられるか?#

  • thr Reply #1, 3 years, 8 months ago

    Reply
    こんにちわ、thrです。

    フォーラムの情報にはいつもお世話になってます。
    ところで、今度もしかしたら、 某大手芸能事務所のモバイルポータルの仕事をするかもしれないのですが、
    現状のMODxを導入できるか 検討中です。

    CMSを導入するというのは 決定していることなのですが、既存の携帯用CMSを使うか MODx をカスタマイズして使うかまよっているという感じです。
    文字コードなどに関しては soushi のモバイルコンバーターで 解決するのですが、

      [list]
    • 数万規模のアクセスに対応できるのか?
    • 携帯から記事の更新はできるか?
    • 他のページへRSSで新着記事をとばす
    • 着うたダウンロード
    • キャリアの振り分け処理
    • 会員ページで課金する仕組み
    • 脆弱性の問題は?
    • 他に問題点は?
    [/list]

    などちょっと考えただけで、いくつか疑問点が浮かんできました。
    シンプルなモバイルサイトの制作実績はあるのですが、ポータルサイトとそれ以外の連携するサイト(タレントサイト?)を30ほど作る必要がありそうで結構大規模になりそうなんです。

    まだ、案件の詳細は私も聞いていないのですが、これを機会にmodxで携帯ポータルサイトまで運用できれば、modxの普及にもつながりそうだなぁと思っているところです。

    中途半端な情報量でフォーラムに書き込みをして申し訳ありません。どなたか、アドバイス頂けると大変助かります。

    それでは、、、thr


  • soushi Reply #2, 3 years, 8 months ago

    Reply
    soushiです。

    返信しようと思ってたのですが、投稿が遅れてしまいました 僕の主観ですが参考になれば…。

    • 数万規模のアクセスに対応できるのか?
    サーバのスペックが大きく、総ページ数が巨大にならなければそれなりにアクセスが多くても大丈夫だと思います。
    ベンチマークしたわけじゃないですが…。
    ただ、大規模になると冗長化・負荷分散等の要件が必須になることが多く、その場合はMODx本体だけでの対応は難しいですね。
    その部分に関しては独自に作りこむ必要があります。

    • 携帯から記事の更新はできるか?

    今のところ携帯から記事投稿ができるスニペット等は聞いたことないので、ないのではないでしょうか?
    NewsPublisherあたりも海外製なのでそのままでは携帯で動かない気がします。

    • 他のページへRSSで新着記事をとばす

    飛ばすというのは他のWebサーバが新着記事を(HTTPリクエストで)取りにくるということでしょうか?
    これはページの構成の仕方次第で、Dittoを使えばいけそうです。

    • 着うたダウンロード

    すいません、これはわかりません…
    • キャリアの振り分け処理

    稚拙ながら僕の作ったMobileConverterでキャリアごとにテンプレートの切り替えと画像の切り替えはできます。
    ただ、絵文字は対応してません。
    また端末ごとに表示できるページサイズが異なると思いますが、ページサイズを考慮した表示ページの分割(ページング)も未対応です。
    ここは作るとかなり大変になりそうですね。。。

    • 会員ページで課金する仕組み

    これは仕様に合わせて作る感じになると思います。

    • 脆弱性の問題は?

    これからも色々でてくるかと(汗)
    この前リリースされた0.9.6.2でも色々修正されていますし…。
    ただ携帯サイトのほうが脆弱性を突かれづらそうなイメージがありますが、そうでもないのでしょうか?

    • 他に問題点は?

    携帯端末はphpのセッション機能が使えないので、MODxのWeblogin等セッションを利用するものは全部利用できないですね。
    使いたいスニペットでセッションを利用しているか調べておかないと後で大変かもしれません。



  • kmikage Reply #3, 2 years, 10 months ago

    Reply
    kmikageです。
    ちょっと古い話題にはなりますが。。。

    Quote from: soushi at Sep 23, 2008, 12:07 PM
    • 数万規模のアクセスに対応できるのか?
    サーバのスペックが大きく、総ページ数が巨大にならなければそれなりにアクセスが多くても大丈夫だと思います。
    ベンチマークしたわけじゃないですが…。
    ただ、大規模になると冗長化・負荷分散等の要件が必須になることが多く、その場合はMODx本体だけでの対応は難しいですね。
    その部分に関しては独自に作りこむ必要があります。

    先日の情報交流会でも、少し話題になってましたね。
    「ウェブサーバのクラスタリングによる大規模運用にMODxは耐えられるか」というテーマで、
    今年の秋くらいを目安に余ったサーバを積み上げて検証をしてみたいと思っています。
    インフラ屋さんとして気になるところでもありますしね。

    ただ、現状MODxそのものがあまり大規模運用に向けた作りをしていないので、
    ひょっとするとインフラ・ミドルウェアで吸収し切れないボトルネックが発生する可能性もありますね。


  • yama Reply #4, 2 years, 10 months ago

    Reply
    あまりプログラミングに詳しいわけではないので外してるかもですが・・MODxってページ生成時にかなり大量のグローバル変数を裁いているようですが、けっこう力任せな処理が裏で動いてる印象があります。キャッシュ読みしてる場合でも。


  • soushi Reply #5, 2 years, 10 months ago

    Reply
    御無沙汰してます… ちょっとヒントを提供できそうな話題が上がったのでレスします。

    Quote from: kmikage at Jul 08, 2009, 03:04 PM
    ただ、現状MODxそのものがあまり大規模運用に向けた作りをしていないので、
    ひょっとするとインフラ・ミドルウェアで吸収し切れないボトルネックが発生する可能性もありますね。

    先月の勉強会で少し話をしたと思いますが、modxでもWeb複数台+DB1台という構成はできます。
    単純に個々のmodxが同じDBを使うように設定するだけです。
    が、それだけだといくつか問題がでます。

    ・キャッシュのクリア
    DBのデータが変更された時に各Webサーバのキャッシュをクリアさせる必要があります。
    やり方はいくつかありますが、こんな感じとか↓
    DBにキャッシュクリア管理用のテーブルを作成し、キャッシュクリア時のイベントでフラグを立てるようにします。
    各Webサーバはユーザからのアクセスがあるたびにそのテーブルのフラグを確認し、フラグが立ってればキャッシュクリアを行いフラグを落とします。
    キャッシュクリア時はそのまま同様のページにリダイレクトさせるといいかもですが、POSTだった場合はちょっと考える必要がありそうです。

    ・/assets/imagesや/assets/flashとか
    TinyMCE等で任意に画像がアップできるので、NFSで共有を図るか、rsync等で同期を考える必要があります。

    他にもあったような気がしたのですが…すいません、また思い出したら追記します。

    あとDBの冗長化に関しては課題が多そうです。
    kmikageさんが言われるようにselectだけ別サーバに向けるような機能がないのと、modxがトランザクション機能を全くサポートしてない事です。
    とりあえずselectに関してはDBAPIの$modx->db->select()だけ改造すればそれなりに分散しそうですが、selectでも$modx->db->query()使ってるところもあったりするんですよね 大規模=同時アクセスが大量に発生するという事なので作りたいサイト次第でトランザクションができないのはきついと思います。
    (読み専用のサイトならそんなに問題にはならないと思いますが)

    御参考までに~。