1.檢視連線引數(show variables)
mysql> show variables like 『%connect%『;
| variable_name | value |
| character_set_connection | utf8 |
| collation_connection | utf8_general_ci |
| connect_timeout | 10 |
| disconnect_on_expired_password | on |
| init_connect | |
| max_connect_errors | 100 |
| max_connections | 151 |
| max_user_connections | 0 |
| performance_schema_session_connect_attrs_size | 512 |
2.檢視連線狀態(show status)
mysql> show status like 『%connections%『;
| variable_name | value |
| connection_errors_max_connections | 0 |
| connections | 197 |
| max_used_connections | 2 |
connection_errors_max_connections 當mysql的最大併發數大於系統變數(show variables)中max_connections的最大併發數,因此而被拒絕的次數,將會記錄在這個變數裡。如果connection_error_max_connections值比較大,則說明當前系統併發比較高,要考慮調大max_connections的值。
connections表示mysql從啟動至今,成功建立連線的連線數,這個值是不斷累加的。
max_used_connections表示mysql從啟動至今,同一時刻併發的連線數,取得是最大值。如果這個值大於 max_connections則表明系統經常處於高併發的狀態,應該考慮調大最大併發連線數。
3、連線線程引數(thread variabls and status)
mysql> show variables like 『thread%『;
| variable_name | value |
| thread_cache_size | 9 |
| thread_concurrency | 10 |
| thread_handling | one-thread-per-connection |
| thread_stack | 262144 |
thread_cache_size 設定連線線程快取的數目。這個快取相當於mysql執行緒的快取池(thread cache pool),將空閒的連線線程放入連線池中快取起來,而非立即銷毀。當有新的連線請求時,如果連線池中有空閒的連線,則直接使用。否則要重新建立執行緒。建立執行緒是乙個不小的系統開銷。
thread_handling 預設值是: one-thread-per-connection 表示為每個連線提供或者建立乙個執行緒來處理請求,直至請求完畢,連線銷毀或者存入快取池。當值是no-threads 時,表示在始終只提供乙個執行緒來處理連線,一般是單機做測試使用的。
thread_stack stack 是堆的意思,知道程序和執行緒都是有唯一的id的,程序的id系統會維護,二線程的id,則由具體的執行緒庫區維護,當程序或者執行緒休眠的時候,程序的上下文資訊要在記憶體中開闢出一塊區域,儲存程序的上下文資訊,以便於迅速喚醒程式。預設為mysql的每個執行緒設定的堆疊大小為:262144/1024=256k
4.檢視執行緒狀態資訊
mysql> show status like 『thread%『;
| variable_name | value |
| threads_cached | 1 |
| threads_connected | 1 |
| threads_created | 2 |
| threads_running | 1 |
thread_cached 當前執行緒池的執行緒數
thread_connected 當前的連線數
thread_cached: 當前連線線程建立數, 如果這個值過高,可以調整threadcachesize 也就是調整執行緒快取池的大小。
thred_runnint: 當前活躍的執行緒數。
5.連線請求堆疊
mysql在很短的時間內,突然收到很多的連線請求時,mysql會將不能來得及處理的連線請求儲存在堆疊中,以便mysql後續處理。back_log引數設定了堆疊的大小,可以通過如下命令檢視:
mysql> show variables like 『back_log『;
| variable_name | value |
| back_log | 80 |
6.連線異常
mysql> show status like 『aborted%『;
| variable_name | value |
| aborted_clients | 0 |
| aborted_connects | 219 |
aborted_clients mysql 客戶機被異常關閉的次數。
aborted_connects 試圖連線到mysql伺服器而失敗的連線次數。
7.other
mysql> show status like 『slow%『;
| variable_name | value |
| slow_launch_threads | 0 |
| slow_queries | 0 |
mysql> show variables like 『slow_launch_time『;
| variable_name | value |
| slow_launch_time | 2 |
slow_lunch_threads 建立執行緒的時間過長,超過slow_launch_time的設定值,則會記錄。
8.可以通過使用 connection_error%來檢視連線的錯誤狀態資訊:
mysql> show status like 『connection_error%『;
| variable_name | value |
| connection_errors_accept | 0 |
| connection_errors_internal | 0 |
| connection_errors_max_connections | 0 |
| connection_errors_peer_address | 0 |
| connection_errors_select | 0 |
| connection_errors_tcpwrap | 0 |
connection_errors_peer_address 查詢mysql客戶機ip位址是發生的錯誤數。
(一)mysql 連線優化
標籤:拒絕 存在 測試 sel 客戶機 休眠 客戶 like 上下
mysql優化 連線數
有時候我們會遇見 mysql error 1040 too many connections 的異常,一種原因是訪問量過高,mysqlserver抗不住,這個時候就要考慮新增從server分散讀壓力,還有一種原因就是mysql配置檔案裡max connections值過小。首先,我們來檢視mysql...
mysql優化 連線數
有時候我們會遇見 mysql error 1040 too many connections 的異常。一種原因是訪問量過高,mysqlserver抗不住。這個時候就要考慮新增從server分散讀壓力。還有一種原因就是mysql配置檔案裡max connections值過小。首先。我們來檢視mysql...
mysql連線教程 MySQL 連線
mysql 連線 使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 mysql 命...