0

CakePHP を使用して新しいプロジェクトを開始しています。「オートマジック」機能が気に入っています。プロジェクトにぴったりだと思います。私は、CakePHP を 1 日に数百万の IP ヒットにスケーリングする可能性について疑問に思っています。また、1 日に数十万回のデータベースの書き込みと読み取りが行われます。また、約 50,000 から 500,000 人のユーザーがいて、多くの場合 3000 人がサイトを同時に使用しています。これを相殺するために重いストアド プロシージャを使用しており、ロード バランサーを含む複数のサーバーにアクセスしています。

いくつかの自動マジックの計算時間と、多数のデータベース ヒットを作成するセッション リクエストを Cake がどれだけうまく支援できるかについて疑問に思っています。このレベルのトラフィックで単一のサーバー アレイ セットアップから Cake を実行して成功した人はいますか? 私はクラウドや分散データベースを (まだ) 使用していません。このフレームワークを使用する際のボトルネックの可能性が本当に心配です。Cake の制作に携わったことのある方からのアドバイスに興味があります。調べてみましたが、セカンドオピニオンが欲しいです。お時間をいただきありがとうございます。

4

1 に答える 1

3

これは問題ではありませんが、最適化はあなた次第です。

  • memcache、redis、フル ページ キャッシングなど、実装できるさまざまなキャッシュ メソッドが利用可能です。これらはすべて、すでに cacke でサポートされています。何をどこにキャッシュするかはあなた次第です。
  • 検索については、エラスティック検索を試して高速化することができます
  • コントローラーのインスタンス化をバイパスする前に、ディスパッチャー フィルターがあります (特殊なケースではそれを行う必要がある場合があります。たとえば、アセット フィルターを確認してください)。
  • apacheではなくnginxを使う

また、コードを作成する前にこれを過度に最適化したり考えすぎたりすることから始めることはしません。まず最初にキャッシングについて考えますが、ボトルネックに遭遇し始めたら分析して修正します。そうしないと、機能するものを作成する前に、過剰な最適化で多くの時間を浪費することになります。

ケーキ自体はとても速いです。これらの派手なベンチマークのでたらめな要素を証明するために、一部のフレームワークでは、ディスパッチャー フィルターを使用してそれを「最適化」し、それがどれほど速いかを示すことにかなり熱心なように見える Yii を打ち負かすことさえしましたが、ベンチマークは無意味です。非常に多くの人為的な失敗が導入できる巨大なプロジェクト。

于 2013-02-25T10:11:27.663 に答える