mysql優化連線數防止訪問量過高的方法

2021-07-28 00:15:38 字數 2226 閱讀 4166

很多開發人員都會遇見」mysql: error 1040: too many connections」的異常情況,造成這種情況的一種原因是訪問量過高,mysql伺服器抗不住,這個時候就要考慮增加從伺服器分散讀壓力;另一種原因就是mysql配置檔案中max_connections值過小

首先,我們來檢視mysql的最大連線數:

mysql> show variables like'%max_connections%';

+-----------------+-------+

| variable_name  | value |

+-----------------+-------+

| max_connections | 151  |

+-----------------+-------+

1 row inset (0.00 sec)

其次,檢視伺服器響應的最大連線數:

mysql> show globalstatus like'max_used_connections';

+----------------------+-------+

| variable_name    | value |

+----------------------+-------+

| max_used_connections | 2   |

+----------------------+-------+

1 row inset (0.00 sec)

可以看到伺服器響應的最大連線數為2,遠遠低於mysql伺服器允許的最大連線數值。

對於mysql伺服器最大連線數值的設定範圍比較理想的是:伺服器響應的最大連線數值佔伺服器上限連線數值的比例值在10%以上,如果在10%以下,說明mysql伺服器最大連線上限值設定過高。

max_used_connections / max_connections * 100% = 2/151 *100% ≈ 1%

再來看一下自己 linode vps 現在的結果值:

mysql> show variables like'%max_connections%';

+-----------------+-------+

| variable_name  | value |

+-----------------+-------+

| max_connections | 151  |

+-----------------+-------+

1 row inset (0.19 sec)

mysql> show globalstatus like'max_used_connections';

+----------------------+-------+

| variable_name    | value |

+----------------------+-------+

| max_used_connections | 44  |

+----------------------+-------+

1 row inset (0.17 sec)

這裡的最大連線數佔上限連線數的30%左右。

上面我們知道怎麼檢視mysql伺服器的最大連線數值,並且知道了如何判斷該值是否合理,下面我們就來介紹一下如何設定這個最大連線數值。

方法1:

mysql>setglobal max_connections=256;

query ok, 0 rowsaffected (0.00 sec)

mysql> show variables like'%max_connections%';

+-----------------+-------+

| variable_name  | value |

+-----------------+-------+

| max_connections | 256  |

+-----------------+-------+

1 row inset (0.00 sec)

修改mysql配置檔案my.cnf,在[mysqld]段中新增或修改max_connections值:方法2:

max_connections=128

重啟mysql服務即可。

優化mysql連線數訪問量

如果mysql 出現mysql error 1040 too many connections有兩種原因,第一種表明訪問量過高,mysql伺服器扛不住了,就要考慮新增伺服器分擔壓力,第二種有可能就是mysql配置檔案max connections這個值太小 我在我的mysql查詢 如果你查詢的結果伺...

mysql優化連線數防止訪問量過高的方法

很多開發人員都會遇見 mysql error 1040 too many connections 的異常情況,造成這種情況的一種原因是訪問量過高,mysql伺服器抗不住,這個時候就要考慮增加從伺服器分散讀壓力 另一種原因就是mysql配置檔案中max connections值過小。首先,我們來檢視m...

mysql優化連線數防止訪問量過高的方法

很多開發人員都會遇見 mysql error 1040 too many connections 的異常情況,造成這種情況的一種原因是訪問量過高,mysql伺服器抗不住,這個時候就要考慮增加從伺服器分散讀壓力 另一種原因就是mysql配置檔案中max connections值過小。首先,我們來檢視m...