一次線上問題引起的過程回顧和思考,以更換兩臺服務器結束

1、部署狀況,均一臺mysql

  

2、問題回顧,以及解決過程redis

 

 

 

 3、 定位過程當中問題截圖sql

接口跨域截圖:數據庫

 

 redis鏈接超時截圖跨域

 

 

 

 

 

5、補充知識:緩存

一、mtu是什麼:最大傳輸單元(Maximum Transmission Unit)是指一種通訊協議的某一層上面所能經過的最大數據包大小(以字節爲單位)。咱們在使用互聯網時進行的各類網絡操做,都是經過一個又一個「數據包」傳輸來實現的。而MTU指定了網絡中可傳輸數據包的最大尺寸,在咱們經常使用的以太網中,MTU是1500字節。超過此大小的數據包就會將多餘的部分拆分再單獨傳輸 。服務器

 

二、數據庫命令show processlist 返回列中State都有哪些狀態(轉載:https://blog.csdn.net/p656456564545/article/details/53169565網絡

序號 Stats 描述
1 Checking table 正在檢查數據表(這是自動的)
2 Closing tables 正在將表中修改的數據刷新到磁盤中,同時正在關閉已經用完的表。這是一個很快的操做,若是不是這樣的話,就應該確認磁盤空間是否已經滿了或者磁盤是否正處於重負中。
3 Connect Out 複製從服務器正在鏈接主服務器
4 Copying to tmp table on disk 因爲臨時結果集大於tmp_table_size,正在將臨時表從內存存儲轉爲磁盤存儲以此節省內存
5 Creating tmp table 正在建立臨時表以存放部分查詢結果
6 deleting from main table 服務器正在執行多表刪除中的第一部分,剛刪除第一個表。
7 deleting from reference tables 服務器正在執行多表刪除中的第二部分,正在刪除其餘表的記錄。
8 Flushing tables 正在執行FLUSH TABLES,等待其餘線程關閉數據表。
9 Killed 發送了一個kill請求給某線程,那麼這個線程將會檢查kill標誌位,同時會放棄下一個kill請求。
10 Locked 被其餘查詢鎖住了。
11 Sending data 正在處理SELECT查詢的記錄,同時正在把結果發送給客戶端。
12 Sorting for group 正在爲GROUP BY作排序。
13 Sorting for order 正在爲ORDER BY作排序。
14 Opening tables 這個過程應該會很快,除非受到其餘因素的干擾。例如,在執ALTER TABLE或LOCK TABLE語句行完之前,數據表沒法被其餘線程打開。正嘗試打開一個表。
15 Removing duplicates 正在執行一個SELECT DISTINCT方式的查詢,可是MySQL沒法在前一個階段優化掉那些重複的記錄。所以,MySQL須要再次去掉重複的記錄,而後再把結果發送給客戶端。
16 Reopen table 得到了對一個表的鎖,可是必須在表結構修改以後才能得到這個鎖。已經釋放鎖,關閉數據表,正嘗試從新打開數據表。
17 Repair by sorting 修復指令正在排序以建立索引。
18 Repair with keycache 修復指令正在利用索引緩存一個一個地建立新索引。它會比Repair by sorting慢些。
19 Searching rows for update 正在講符合條件的記錄找出來以備更新。它必須在UPDATE要修改相關的記錄以前就完成了。
20 Sleeping 正在等待客戶端發送新請求.
21 System lock 正在等待取得一個外部的系統鎖。若是當前沒有運行多個mysqld服務器同時請求同一個表,那麼能夠經過增長--skip-external-locking參數來禁止外部系統鎖。
22 Upgrading lock INSERT DELAYED正在嘗試取得一個鎖表以插入新記錄。
23 Updating 正在搜索匹配的記錄,而且修改它們。
24 User Lock 正在等待GET_LOCK()。
25 Waiting for tables 該線程獲得通知,數據表結構已經被修改了,須要從新打開數據表以取得新的結構。而後,爲了能的從新打開數據表,必須等到全部其餘線程關閉這個表。
26 waiting for handler insert INSERT DELAYED已經處理完了全部待處理的插入操做,正在等待新的請求。
相關文章
相關標籤/搜索