程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql優化銜接數避免拜訪量太高的辦法

mysql優化銜接數避免拜訪量太高的辦法

編輯:MySQL綜合教程

mysql優化銜接數避免拜訪量太高的辦法。本站提示廣大學習愛好者:(mysql優化銜接數避免拜訪量太高的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql優化銜接數避免拜訪量太高的辦法正文


許多開辟人員都邑碰見”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 in set (0.00 sec)

其次,檢查辦事器呼應的最年夜銜接數:

mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name    | Value |
+----------------------+-------+
| Max_used_connections | 2   |
+----------------------+-------+
1 row in set (0.00 sec)

可以看到辦事器呼應的最年夜銜接數為2,遠遠低於mysql辦事器許可的最年夜銜接數值。

關於mysql辦事器最年夜銜接數值的設置規模比擬幻想的是:辦事器呼應的最年夜銜接數值占辦事器下限銜接數值的比例值在10%以上,假如在10%以下,解釋mysql辦事器最年夜銜接下限值設置太高。

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

我們可以看到占比遠低於10%(由於這是當地測試辦事器,成果值沒有太年夜的參考意義,年夜家可以依據現實情形設置銜接數的下限值)。

再來看一下本身 linode VPS 如今(時光:2013-11-13 23:40:11)的成果值:

mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name  | Value |
+-----------------+-------+
| max_connections | 151  |
+-----------------+-------+
1 row in set (0.19 sec) 
mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name    | Value |
+----------------------+-------+
| Max_used_connections | 44  |
+----------------------+-------+
1 row in set (0.17 sec)

這裡的最年夜銜接數占下限銜接數的30%閣下。

下面我們曉得怎樣檢查mysql辦事器的最年夜銜接數值,而且曉得了若何斷定該值能否公道,上面我們就來引見一下若何設置這個最年夜銜接數值。

辦法1:

mysql> set GLOBAL max_connections=256; 
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like '%max_connections%';
+-----------------+-------+
| Variable_name  | Value |
+-----------------+-------+
| max_connections | 256  |
+-----------------+-------+
1 row in set (0.00 sec)

辦法2:

修正mysql設置裝備擺設文件my.cnf,在[mysqld]段中添加或修正max_connections值:

max_connections=128
重啟mysql辦事便可。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved