あなたの質問は非常に明確ですが、Webサイトの最適化は非常に広範なテーマです。
人気のあるWeb開発フレームワークの大部分は、何らかの理由で、プロセッサの効率が非常に低くなっています。
n層Webアプリケーションを開発する昔ながらの方法は、依然として非常に関連性があり、W3Cによると依然としてベストプラクティスであると考えられています。最も人気のあるWeb開発フレームワークのソースコード構造を読むのに少し時間がかかると、サーバーで必要以上のコードが実行されていることがわかります。
これは少し単純な答えのように思えるかもしれませんが、サーバーで実行するコードが少なく、クライアントで実行するコードが多いほど、サーバーの動作が速くなります。フレームワークコードを昔ながらの方法と対比することが、これを理解するための最良の方法である場合があります。これは、W3Cのベストプラクティスを表し、サーバーで最小量のコードを実行し、クライアントで最大量のコードを実行する、完全に機能するミニWebアプリケーションへのリンクです。http://developersfound.com/W3C_MVC_EX.zipこのコードベースはまた、MVCに準拠しています。
このコードベースには、MySQLデータベースダンプ、php、およびクライアント側のコードが付属しています。このコードの動作を確認するには、SQLダンプをMySQLインスタンスに復元し(SQLダンプはMySQL 8コミュニティから取得)、phpファイル(conn_include.php)にあるユーザーとスキーマのアクセス許可を追加する必要があります。スキーマに対する実行権限を持つようにユーザーを設定します。
このコードベースを最も人気のあるすべてのWebフレームワークと比較すると、これらのフレームワークがいかに非効率的であるかがわかります。MVCフレームワークであると主張する人気のあるPHPフレームワークは、実際にはMVCにまったく準拠していません。これは、PHPタグをHTMLタグ内に埋め込むか、またはその逆に依存しているためです(W3Cによると非常に悪い習慣と見なされています)。また、最も一般的なノードフレームワークは、サーバーで必要以上のコードを実行します。フレームワークがYii2などのAJAXダンプをサポートしていない限り、埋め込みタグは非同期呼び出しが正しく機能しないようにします。
MVCコンプライアンスで従うべき最も重要なルールの2つは、サーバー側のタグ(PHPタグなど)をHTMLタグに埋め込んだり、その逆を行ったりしないことです(SEOなどの非常に良い言い訳がない限り)。クライアントで実行できる場合はサーバーで。また、真のMVCは層の分離に基づいていますが、MVCフレームワークはコードの分離に基づいています。真のMVCコンプライアンスは、プロセッサー効率が非常に高いです。誤解しないでくださいMVCフレームワークは多くのことに非常に役立ちますが、何百万ものヒットを獲得するサイトを開発している場合、それらはまったく役に立たないか、少なくともクラウドの請求額が非常に高くなりますそれは本当にあなたの会社の利益に食い込むでしょう。
要約すると、フレームワークは、クライアントまたはサーバーで実行されるコードをあまり制御できず、非常に非効率的ですが、より少ないコードでプロトタイプをより迅速に稼働させることができます。
対照的に、昔ながらの方法では少し多くのエルボーグリースが必要ですが、サーバーで実行されるものとクライアントで実行されるものを完全に制御できます。
最適化のための追加のアドバイスとして、パススルークエリとトリガーの使用を避け、代わりにストアドプロシージャを選択してください。歴史的に保存されたプロシージャは、MVCがパラダイムとして存在していた時点では発明されていませんでしたが、階層間の関心の分離が確実に向上し、プロセッサの効率が大幅に向上しました。
このアドバイスがお役に立てば幸いです。