2016-05-25 77 views
-2

這是我的問題。哪一個最適合mysql連接?

的情況下1:

總是要爲每一個客戶端TCP連接或斷開。

的情況下2:

只有使一個連接並分享每TCP客戶端的連接。

哪一個表現最好?謝謝!

+1

你爲什麼不試試和我們分享結果? –

+0

既然你只提到Mysql,你怎麼期望分組你的不同連接? –

回答

2

我假設你的架構是n層,是這樣的:
DB_SERVER <---> APPLICATION <----> MANY_CLIENTS
......你考慮應用部分的解決方案?
假設如此,依然依靠:

  1. 從性能上看,最好是有較少的連接。但是,如果網絡在DB_SERVERAPPLICATION之間的延遲較低,則將多個客戶端請求壓縮爲單個連接的收益可能會很小。
  2. 如果每個客戶端只需要一個查詢,那麼確保單個(多路複用)連接的應用程序的邏輯可能非常簡單。但是,如果與客戶端的通信需要執行許多SQL查詢,並且它們干預,那麼它可能也很複雜。因此,成本(就APLICATION複雜性而言)可能會超出網絡性能方面的小收益。

所以你必須考慮增益和成本......結果很大程度上取決於上述兩個因素。

當然,如果你考慮很多併發連接,你也可以命中一些連接表大小限制。或者您可能在DB_SERVERAPPLICATION之間有一些安全特定的連接限制。在這種情況下,將客戶端連接複用爲一個可能是唯一的選擇。