ビューアに対するデータベースサーバーの位置は、重要なパフォーマンス要素ではありません。サイト訪問者は、データベースと通信していません。データベースと通信しているWebアプリケーションサーバーと通信しています。
多くのアプリケーションでは1つのページをレンダリングするために複数のクエリが必要なためデータベースへの複数回のラウンドトリップが必要であり、これらのラウンドトリップが増加するため、アプリケーションサーバーに対するデータベースサーバーの位置が重要ですページがレンダリングされるのにかかる時間。データベースがアプリケーション層に物理的に近接している場合、その時間はごくわずかです。
一般的なWeb用語では、SEのような十分に管理されたサイトでは、CDN内のすべてのサポート資産が必要ですが、関連する唯一の遅延は、その1つの大きなHTTP要求/応答に必要な通過時間ですページコンテンツをレンダリングする。光の速度は依然として有限であるため、通過時間は無視できません。したがって、最良のルートであっても遠く離れたロケールへの往復時間は簡単に200〜300msの範囲にある可能性があります...しかし、一度、あなたはまだ相当な応答時間を持っています。
additonalデータを取得するために多くのajaxを使用するサイトは、遠く離れたWebサーバーではあまりうまくいかないでしょう。このような設計が必要な場合は、隣接するデータベースのレプリカと地理的に分散したWebサーバー、およびDNSのジオルーティングを使用して最寄りのWebサーバーに読み取り専用のAjax要求を送信する必要があります。 、そして迅速な答えを返します。
私は一度、アプリケーションサーバに比べてMySQLサーバを〜0.5ms離れて〜25ms離れた場所に移動しました。サイトのページ読み込み時間(既に最適ではなかった)は2秒から10秒に増加しました。理由?このアプリは何年も何度も反復されていて、データベースに不必要なリクエストをたくさんしていました...私が覚えていれば、最も単純なページでも13種類のクエリが必要でした。あなたのスコアを実際に表示していないページであってもあなたのスコアを取得するように)。この非効率性は、アプリケーションとdbが非常に近い間は検出されませんでした。しかし、これもまた、データベースとブラウザではなく、Webサーバーとデータベース間の距離に関するものでした。
スタックエクスチェンジには2つのデータセンターがありますが、そのうちの1つがホットスタンバイ/フェールオーバーサイトだけであることを最後に確認します。メインサイトは通常の操作ですべての作業を行います。 SEはMSSQLを使用していますが、これも重要ではありません。なぜなら、ここでの作業の基本的な現象は物理法則であるからです。
電子は、地球の表面上の場所の間の距離に関連して、本当に、本当に速いです。光子はさらに高速です(光ファイバーケーブルで)。そして、StackExchangeは私が知る限り、MySQLを使用しません。 –
私は彼らがMSSQLを使用していると思います。私はすべてのSQL製品がほぼ同じスピードであると思っていました。 MSSQLの方が速いのですか? – Francis
エンドユーザーのページの読み込み速度に影響を与えるデータベースサーバー以外の多くのものがあります。 – Shadow