0

私はそれが非常に基本的であることを知っています。しかし、mysql接続のいくつかの概念をクリアしたい. 次のシナリオがあります。

  • DB サーバーと Web サーバーは別の場所にあります。
  • Web サーバーは記事ベースの Web サイトを実行しています。
  • 記事のデータは db サーバーに保存されます。
  • Web サーバーは、毎秒 100 の記事/ページを配信しています。

私の質問は次のとおりです。

  • Web サーバーと db サーバー間の単一の接続で処理できますか?
  • デフォルトではいくつの接続が作成されますか?
  • 接続をパイプと仮定すると、各接続の I/O 容量はどれくらいですか?
  • dbサーバーのRAM、プロセッサ、OS、および接続数の間に関係はありますか?

前もって感謝します

4

1 に答える 1

0

Web サーバーと db サーバー間の単一接続で処理できますか?

1 つの接続で複数の要求を渡すことができますが、同時にではなく、1 つのクライアント プロセスに対してのみ渡すことができます。したがって、最適なスケーリング アプローチは、Web サーバー プロセスごとに 1 つの接続プールである可能性があります。この場合、スレッドは確立された接続を取得して要求を実行し、完了したら接続をプールに返すことができます。

デフォルトではいくつの接続が作成されますか?

クライアント言語、MySQL コネクタの実装、使用するフレームワーク、Web サーバーの構成、およびおそらくこのようなその他の詳細に依存します。したがって、最善の策は、lsofまたはを使用して、MySQL サービスへのネットワーク接続のリストを単純に確認することnetstatです。

接続をパイプと仮定すると、各接続の I/O 容量はどれくらいですか?

制限要因はおそらく、ネットワーク帯域幅や両端の処理能力などの共有リソースです。したがって、接続数がデータ転送速度に大きな影響を与えることはありません。ただし、接続を確立するためのオーバーヘッドが大きいため、プーリングを使用して接続数を減らすことを提案しました。

dbサーバーのRAM、プロセッサ、OS、および接続数の間に関係はありますか?

一部のアプリケーションがこれらのパラメーターに基づいて選択を行う場合はそうかもしれませんが、一般的にはこれはかなりありそうにないと思います。

于 2012-12-11T08:36:54.787 に答える