何百万ものレコードがある場合、両方のバージョンは同じです。
CMS (Joomla や Wordpress など) が、Web サイトが成長し、データベースが 500 万件のレコードと同じくらい巨大になると、サーバーのタイムアウトを与える理由を教えてください!
- CMS は、必要に応じて Web サイトを拡張できるようにするために開発されたシステムです。
- そうすることで、拡張機能を開発し、インライン クエリを追加し続けます!!!
- 100 万件のレコードのうち、レコードのリスト (1 ページあたり 15 レコードなど) を表示する場合。CMS はそのテーブルにクエリを実行します。
- #3 に加えて、CMS はカーテンの後ろで他の多くのクエリを実行して、ヒットの追跡、ユーザーと息子の追跡などの他の内部タスクを実行します。
- #4に加えて、実行基準に関係なく同じページで実行される他のいくつかのモジュールとプラグインが存在する可能性があり、インラインクエリがさらにいくつかある可能性があります(それらのほとんどは悲しいことに多くのクエリを実行します).
ここで、約 100 人のユーザーがいるとします。上記の1-5で書いたのと同じページをロードするようになりました。このシナリオで約 10 個の mySQL クエリを実行するとします。一度に 100 人のユーザーがいる場合に実行されるクエリの数を想像してみてください。
このような大規模なデータベースがある場合は、負荷分散を実装する必要があります。現時点では、その構成にアクセスできる場合は、MySQL データベースを最適化できます。max_connections などの sysvar を増やすことを検討してください。
編集:「負荷分散」は、ハードウェアをアップグレードするのではなく、システム全体とワークフローをアップグレードして、最大限の最適化で目標を達成するのに役立ちます。あなたがコメントで尋ねたので、それが何であるかを人々に知ってもらいたいので、より明確にするために私の答えに含めてください。
サーバーのタイムアウトがあり、データベースに数百万のレコードがあるため、次の Web の場所で説明されていることを考える必要があります。
http://en.wikipedia.org/wiki/Load_balancing_%28computing%29
http://technet.microsoft.com/en-us/library/bb742455.aspx
私が話していることを理解するのに役立つかもしれませんが (トピックから外れている可能性があります)、データベースや Web サイトの負荷をどのように分散してクエリを迅速に実行できるようにするかを真剣に検討する必要があります。