免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

mysql中Toomanyconnections問題怎么處理-創新互聯

這篇文章將為大家詳細講解有關mysql中Too many connections問題怎么處理,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創新互聯公司是一家集網站建設,通川企業網站建設,通川品牌網站建設,網站定制,通川網站建設報價,網絡營銷,網絡優化,通川網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

1、問題展現
應用端登錄出現Too many connections報錯
mysql中Too many connections問題怎么處理
檢查發現mysql數據庫服務端已經達到了max_connections上限
mysql中Too many connections問題怎么處理
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 1900  |
+-----------------+-------+
1 row in set (0.00 sec)

mysql> show processlist;
已經達到了1900會話數。

thread_pool設置并不能阻止會話數的上升。
mysql> show variables like 'thread_pool%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| thread_pool_algorithm                | 0     |
| thread_pool_high_priority_connection | 0     |
| thread_pool_max_unused_threads       | 0     |
| thread_pool_prio_kickup_timer        | 1000  |
| thread_pool_size                     | 16    |
| thread_pool_stall_limit              | 6     |
+--------------------------------------+-------+
6 rows in set (0.00 sec)

2、問題處理
重啟mysql的服務。重啟完mysql服務后,的確mysql的session數下降了,但是很快會話數又上升到了1900。
判斷并不是mysql的服務器端的會話沒釋放,而是application端的會話沒釋放。
重啟application的兩臺服務器,mysql的會話數恢復正常。

3、結論
先來看看mysql服務器端的會話保持時間:
mysql> show variables like '%wait_timeout%'; 
+--------------------------+----------+ 
| Variable_name | Value | 
+--------------------------+----------+ 
| innodb_lock_wait_timeout | 50 | 
| lock_wait_timeout | 31536000 | 
| wait_timeout | 28800 | 
+--------------------------+----------+ 
3 rows in set (0.00 sec) 

mysql> show variables like '%interactive_timeout%'; 
+---------------------+-------+ 
| Variable_name | Value | 
+---------------------+-------+ 
| interactive_timeout | 28800 | 
+---------------------+-------+ 
1 row in set (0.00 sec) 

interactive_timeout:服務器關閉交互式連接前等待活動的秒數。交互式客戶端定義為在mysql_real_connect()中使用CLIENT_INTERACTIVE選項的客戶端。又見wait_timeout 
wait_timeout:服務器關閉非交互連接之前等待活動的秒數。在線程啟動時,根據全局wait_timeout值或全局interactive_timeout值初始化會話wait_timeout值,取決于客戶端類型(由mysql_real_connect()的連接選項CLIENT_INTERACTIVE定義),又見interactive_timeout 
如此看來,兩個變量是共同控制的,那么都必須對他們進行修改了。繼續深入這兩個變量wait_timeout的取值范圍是1-2147483(Windows),1-31536000(linux),interactive_time取值隨wait_timeout變動,它們的默認值都是28800。 
MySQL的系統變量由配置文件控制,當配置文件中不配置時,系統使用默認值,這個28800就是默認值。要修改就只能在配置文件里修改。Windows下在%MySQL HOME%/bin下有mysql.ini配置文件,打開后添加兩個變量,賦值。 

要解決這個問題:
1、Use connection pooling at client side (in MySQL Connector) to reduce the number of active connections between the client and the server. 
是在客戶端安裝MySQL Connector
2、Improve the application design to reduce the number of active connections needed and to reduce the time the connection has to stay active. 
從應用端去降低并發數,減少每個會話的保持時間
3、Increase the number of connections handled by MySQL server by adjusting max_connections (keep in mind that this consumes additional RAM and is still limited)
在mysql服務器端增加大連接數設置,不過會消耗大量內存

建議用第二種方法。因為當前應用會話保持時間是10分鐘,建議降低這個數值。

關于“mysql中Too many connections問題怎么處理”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

標題名稱:mysql中Toomanyconnections問題怎么處理-創新互聯
URL地址:http://m.newbst.com/article22/dcgpcc.html

成都網站建設公司_創新互聯,為您提供網站設計營銷型網站建設做網站電子商務靜態網站網站改版

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設公司