對高併發與系統優化的一些感想與總結

2021-10-04 03:32:41 字數 2570 閱讀 3007

5.總結以及自己的一點心得

針對暑期高峰時段的防範,保護暑期直播的穩定性。於暑期前和團隊一起進行防火演練以及壓測,一直缺乏整理,此次記錄並分享。

服務效能瓶頸點究竟由什麼決定?

機器?db?架構?**?

木桶理論:

木桶理論又稱短板理論,其核心思想是乙隻木桶盛水多少,並不取決於最高的木板,而取決於最短的那塊木板。

木桶原理應用在系統分析中,即系統的最終效能取決於系統中效能表現最差的元件,為了提公升系統整體效能,對系統中表現最差的元件進行優化可以得到最好的效果。

找尋當前系統最差的點至關重要。而上述的每一點都可能成為系統的短板

1.第一輪壓測評估當前哪些介面效能低下,從這些介面入手。

2.開啟效能監控的工具。監控壓測過程中機器,db等情況。

機器監控:

db監控:用的公司運維老師搭建的監控平台,主要監控的點cpu,used_memory,ops,traffic_in,traffic_out。

可參考此部落格:

壓測某一介面導致redis主從切換,從庫只允許讀不允許寫,導致大量報錯。

監控顯示rediscpu一下乾到100。

記憶體毛刺狀。

1.為什麼會壓切?

**層面的問題。進行review**。

壓測有四個場次,乙個場次4w人,是用redis的set,乙個zset 4w條資料,介面頻繁zrange,導致redis嚴重阻塞。

解決方案後面詳說。

監控:指標

狀況壓力機

未打滿db瓶頸

未滿介面耗時排查

心跳初始化介面耗時過長,大量1s-120s

機器指標

部分機器效能idle,cpu不正常

去kibana上繪製機器流量圖以及慢響應機器分布圖

發現某一台機器出問題。繼續跟進。因為無線上機子root許可權,聯絡運維老師一起查,運維老師沒有發現原因,選擇暫時下掉此機器[記得當時的方案是這樣子的]。

並且這一次有了重大的突破,發現不僅僅這一台有問題。

這一批機子是新產的機子,發現運維配置新機器的時候,某監控服務配置有誤,導致效能普遍偏低。

解決完如上問題之後,再壓測。

效能提高40%左右。

之前qps

現在qps

16000

28000

來當下的公司經歷了2次壓測了,每一次都有不同的問題出現。這次總結一下自己兩年來所碰到的問題。

1.**層面的問題

無論什麼時候,都應該先從自身找原因。看看是不是**層面的問題,**層面的瓶頸是最容易解決,成本最低的。

問題詳細描述

1**質量問題

1.迴圈呼叫第三方。

2. 資料結構設計不合理。大key,熱key情況常常出現。

3.二級快取的必要性。對於經常呼叫,但是一定時間內固定的資料,應設定合理的二級快取,不必要每次都去呼叫第三方。

2第三方介面

第三方介面拖累。

第三方響應時間過慢,若設定超時時間會導致資料有誤,若不設定會導致介面響應過慢。

3對應的儲存架構

1.長連線與連線數的控制。我們用的twemproxy與redis建立長連線,發現並不是server_connections連線數越多就越好。文件:

2.根據業務形態考慮相應的讀寫分離機制。mysql的binlog。

3.pipeline和非同步重要性。最好使用pipeline去批量寫入redis。不需要實時的資料可以考慮非同步。

2.外部問題

網絡卡,機器cpu,db問題等等

此問題比較難解決,需要根據具體情況具體分析。

3.必要時設計優雅降級方案

保護核心業務。通過配置後台實現優雅降級。

4.針對業務合理拆分

如提交介面單獨集群。耗費效能的統計介面單獨集群。

不讓統計影響主流程提交。

對android的一些感想 2014 03 26

今天看了網上一些大神的部落格,意識到了一些自身存在的問題。1 規範的編碼是很重要的,方便其他同事的理解和閱讀,有助於team work 2 很重要的一點,建立自己的庫,將一些常用的基類 擴充套件類 動畫效果 儲存起來,當再次開始乙個專案的時候,架構起來就會很方便,使用到一些資源的時候也會很快能找到 ...

高併發的一些處理方法

最近一段時間一直在看一些高併發處理策略的文章,在此也稍微總結一下自己的心得 一.高併發 可以這麼理解高併發,在同一時間,有大量使用者同時訪問同乙個url,容易導致伺服器和資料庫資源被佔滿崩潰,資料庫的儲存和更新結果跟理想不一致,例如出現重複的資料記錄,多次新增記錄等資料錯亂問題。二.高併發的處理策略...

關於高併發的一些思考

1.什麼是高併發?高併發是解決大資料量業務的一種思路,源於現實的生產生活中的問題。舉乙個現實生活中的例子 去銀行辦業務,銀行裡段時間來了100個人辦理業務,但是只有乙個視窗來辦理,平均乙個人辦完業務需要5分鐘,100個人需要500分鐘。當出現類似問題的時候,我們應該怎樣去解決呢?1 提高單個視窗辦理...