最近在對新版本的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技術的...