mysql 伺服器端關於使用者連線方面的

2021-06-28 06:54:30 字數 1420 閱讀 8165

最近在對新版本的sqlproxy進行效能與壓力的測試,這裡記錄一下測試過程碰到的關於mysql伺服器端使用者連線方面的限制。

1. max_allowed_packet

服務端允許的最大包長度。 預設情況下,mysqld會把它初始化為net_buffer_length(最大值為1m)的大小,所以如果操作的表的行的長度太大的話,比如有個text或blob欄位的話,就會失敗。

max_allowed_packet 最大可以設定到1g,一般16m就基本夠用了。

這個值是唯讀的,要修改的話必須重啟。

2. max_connections

服務端允許的最大併發連線數。5.5中預設是151個。在壓力測試中需要調高該值,最大值為100000。

該值可以動態修改,而不重啟mysqld。

3.back_log

服務端提供的客戶端連線的等待佇列長度。當在很短的時間內到達大量連線的時候,客戶端連線就會被放入該佇列等待mysqld主線程來處理(檢查,並分配工作執行緒)。

調大該值之前,需要先調大linux作業系統的限制。

系統允許的單個埠最大等待佇列長度在/proc/sys/net/core/somaxconn中。

可以通過命令 sysctl net.core.somaxconn=4096來增大該值到4096。

然後在設定mysqld中的back_log選項,該值可以動態設定。

4.open_files_limit

作業系統允許mysqld開啟的最大檔案控制代碼數。

預設值為0,即按照系統的最大限制來。

可以通過命令ulimit -hsn 65535來調大系統限制。

因為socket本身也是乙個檔案,所以該值限制了mysqld處理的連線數。

在my.cnf 的mysqld中新增 open-files-limit = 65536

5. thread_stack

mysql為每個工作執行緒分配的堆疊空間大小,32位機器預設為192k 64位為256k, 把這個調小可以增加mysql

能夠承受的最大連線數,但不能太小,否則會影響效能。

可以考慮把64位的調小到192k

6. net_read_timeout 和 connect_timeout

如果網路不是太穩定或執行的查詢的規模較大,有時會碰到2013錯誤即lost connection to mysql...,還有mysql status中的aborted_connects數量在增加。

建議調大這2個值。

mysql5.5中

net_read_timeout預設為30s,可以調大到60s或更多.

connect_timeout預設為10s,可以調大到60或更多。(也別太多了)

這樣可以避免2013錯誤。

其他的以後在補充。。。

gloox連線至伺服器端

原文出自 http blog.csdn.net qiuhong101 在使用gloox之前,有必要先提一下xmpp協議這個東東。xmpp協議是乙個基於網際網路的即時通訊標準協議。它採用xml技術,以文字的方式傳輸即時訊息。支援動態自定義擴充套件應用。與傳統的網路協議相比,如qq等,xmpp協議並不是...

gloox連線至伺服器端

原文出自 在使用gloox之前,有必要先提一下xmpp協議這個東東。xmpp協議是乙個基於網際網路的即時通訊標準協議。它採用xml技術,以文字的方式傳輸即時訊息。支援動態自定義擴充套件應用。與傳統的網路協議相比,如qq等,xmpp協議並不是乙個基於二進位制方式實現的協議,而是基於xml技術的文字方式...

gloox連線至伺服器端

在使用 gloox 之前,有必要先提一下 xmpp 協議這個東東。xmpp 協議是乙個基於網際網路的即時通訊標準協議。它採用 xml技術,以文字的方式傳輸即時訊息。支援動態自定義擴充套件應用。與傳統的網路協議相比,如 qq等,xmpp 協議並不是乙個基於二進位制方式實現的協議,而是基於 xml技術的...