2016-05-25 1 views
-2

ここに私の質問です。どちらがmysql接続に最適ですか?

ケース1:

は、常にすべてのTCPクライアントの接続や切断を行います。

ケース2:

つだけ接続を行うと、すべてのTCPクライアントの接続を共有しています。

パフォーマンスに最適なのはどちらですか?ありがとう!

+1

なぜ私たちに結果を教えてもらえませんか? –

+0

あなたはMysqlだけで言及しているので、どのようにあなたの異なる接続をグループ化すると思いますか? –

答えて

2

私はあなたのアーキテクチャは、n層、のようなものであることを前提としています
DB_SERVER <---> APPLICATION <----> MANY_CLIENTS
...そしてあなたは、アプリケーション部分のソリューションを検討しますか?
そう仮定すると、それはまだ依存します

  1. パフォーマンスの観点から、少数の接続を持っている方が良いです。しかし、ネットワークがDB_SERVERAPPLICATIONの間の待ち時間が短い場合、複数のクライアント要求を単一の接続に絞ることの利益は小さいかもしれません。
  2. 単一の(多重化された)接続を保証するためのアプリケーションのロジックは、すべてのクライアントが1つのクエリしか必要としない場合は非常に簡単です。しかし、クライアントとの通信で多くのSQLクエリを実行する必要がある場合や、介入する場合は複雑な場合もあります。したがって、コスト(APLICATIONの複雑さの点で)は、ネットワークパフォーマンスの小さな利点を大きく上回る可能性があります。

ゲインとコストを考慮する必要があります。その結果は、上記の両方の要因に大きく依存します。

もちろん、本当に多くの同時接続を考慮すると、接続テーブルのサイズの制限をいくつか打つこともできます。または、証券の特定の接続制限がDB_SERVERAPPLICATIONの間にある可能性があります。そのような場合、クライアント接続を1つに多重化することは唯一の選択肢かもしれません。

関連する問題