效能測試需要知道點系統概念
服務叢集
服務叢集是有多個伺服器集中起來,進行同一種服務。
從訪問角度看,客戶通過叢集訪問服務,看起來像是隻有一個伺服器,實際上也可以對其中一臺伺服器進行單點訪問
從計算速度上看,叢集可以利用多個計算機進行平行計算,得到更高的計算速度
從備份角度看,可以用多個計算機進行備份,其中任何一臺機器出現故障,整個系統還是可以正常執行。
負載均衡
1.http重定向協議實現負載均衡
2.DNS域名解析負載均衡
3.反向代理負載均衡(Nginx)
反向代理處於web伺服器這邊,瀏覽器發出請求到反向代理伺服器,經過負載均衡演算法將請求的瀏覽器訪問轉發給不同的web伺服器處理,處理結果再由反向代理伺服器返回給瀏覽器
4.IP負載均衡
在網路層修改目標地址進行負載均衡
5.資料鏈路層負載均衡
在資料鏈路層修改mac地址進行負載均衡
快取應用
快取概念
在記憶體中儲存的資料備份,資料沒有發生本質變化時,避免直接從資料庫取資料,而是直接從快取中讀取資料
快取好處
大大降低資料庫的讀寫次數;
從快取中讀取資料,比資料庫查詢快很多。
Redis
1.Redis不僅僅支援簡單的key-value型別的資料,還支援list、set、zset、hash等資料結構的儲存
2.Redis支援master-slave(主-從)模式應用
3.Redis支援資料持久化,可以將記憶體中的資料保持在磁碟中,重啟的時候可以再次載入進行使用
4.Redis單個value的最大限制是1GB,memcached只能儲存1MB的資料
分散式框架
全鏈路壓測
伺服器&中介軟體
JVM
Tomcat
Nginx
RabbitMQ/Kafka
訊息中介軟體
利用高效可靠的非同步訊息傳遞機制的繼承分散式系統,實現不同系統之間的資料傳送和接收,並且提供規範保證資料的準確性。
MQ
訊息佇列,Message Queue,是訊息中介軟體中的一種。生產者往訊息佇列裡寫訊息,消費者可以讀取訊息佇列中的訊息。
MQ的應用場景
1.非同步處理
2.系統間應用解耦:前一個系統將要處理的內容放進訊息佇列,就不再關係後續的其他操作了,後一個系統獲取進行消費
3.流量削鋒:避免因流量過大,導致流量暴增,海量訊息堆積,應用掛掉。【這樣壓力集中在訊息中介軟體】
4.日誌處理
5.訊息通訊:訊息佇列一般內建了高效的通訊機制,因此也可以用在純的訊息通訊
訊息模型
1.P2P點對點模型:每個訊息只有一個消費者,訊息一旦被消費,就不在佇列中;傳送者和接收者沒有依賴關係,接受者不管是否執行,都不影響訊息被髮送到佇列;接收者成功接收訊息後需要向佇列應答成功。
特點:每個訊息都應該被成功處理
2.Pub/Sub釋出-訂閱模型:每個訊息可以有多個消費者;釋出者與訂閱者有依賴關係,針對某個主題(Topic)的訂閱者,必須在建立一個訂閱之後,才能消費釋出這的訊息;訂閱者必須保持執行狀態(訂閱者也可以建立一個持久的訂閱,這樣即使沒有執行,也可以接收到訊息。)
互動原理
Name Server(路由服務) 、broker(儲存、轉發訊息)、Producer(生產者)、Consumer(消費者)、Broker叢集
測試內容、問題排查
1.MQ訊息不重複【可以保證訊息不丟失】
2.MQ傳送了,但是沒有接收,怎麼查詢
3.MQ消費失敗,怎麼重新消費訊息–訊息重試
4.MQ消費失敗、容器環境訊息消費失敗怎麼排查?
5.簡單的日誌查詢
6.MQ消費先於同步返回
資料庫
鎖
悲觀鎖(先鎖,業務量大)、樂觀鎖(先預設正常,後判斷鎖,業務量小)
索引
單獨的物理的對資料庫表中一列或多列的值進行排序的一種資料結構,它是某個表中一列或多列值得集合和相應的指向表中物理標識這些值的資料頁的邏輯指標清單。相當於圖書的目錄。
讀寫分離
為了確保資料庫產品的穩定性,很多資料庫擁有雙機熱備功能。也就是,第一臺資料庫伺服器,是對外提供增刪改業務的生產伺服器;第二臺資料庫伺服器,主要進行讀的操作。
分庫分表
將原本儲存在一個庫的資料分塊儲存在多個庫上,把原本儲存在一個表的資料分塊儲存在多個表上
效能設計方案
http對應應用層,TCP對應傳輸層,IP對應網路層
連線池
建立和管理一個連線的緩衝池的技術,這些連線準備好被任何需要他們的執行緒所使用。
執行緒與程式
一個應用程式對應一個程式,程式下會有多個執行緒去處理事情,比如qq開啟是一個程式,聊天、發檔案屬於一個個執行緒。
相關文章
- 效能測試的基本概念
- 效能測試有哪些指標需要測試?指標
- 效能測試工具你知道多少?
- 效能測試之 JVM 概念認識JVM
- 大話效能測試系列(1)- 效能測試概念與主要指標指標
- AI測試與傳統測試不同,需要考慮十個要點AI
- 關於CRM系統中的客戶概念,您需要知道這些
- 系統吞吐量(TPS)、使用者併發量、效能測試概念和公式公式
- Linux系統效能測試指令碼(unixbenchnmon)Linux指令碼
- 系統測試成功的關鍵點
- 使用Bonnie進行系統IO效能測試 (zt)
- 軟體驗收測試和系統測試的區別點
- 簡述效能測試的重要概念,不談公式公式
- 移動app效能測試有哪些需要進行?效能測試報告如何收費?APP測試報告
- 系統吞吐量、TPS(QPS)、使用者併發量、效能測試概念和公式公式
- React 效能最佳化,你需要知道的幾個點React
- APP測試需要注意點都有哪些?APP
- 服務端效能測試你應該知道的服務端
- 軟體效能測試計劃如何進行?權威效能測試報告需要多少錢?測試報告
- 測試開發:你所需要掌握瞭解的效能測試知識
- 效能測試知識體系
- 軟體效能測試報告應該包含的內容,效能測試報告需要多少錢?測試報告
- 你不知道的JavaScript——效能測試和調優JavaScript
- 效能測試關注點整理總結
- Java 7新特點與效能測試Java
- 門戶系統測試---功能測試
- 效能測試的分類、區別以及特點這些你都知道了嗎?
- 4大軟體測試策略的特點和區別(單元測試、整合測試、確認測試和系統測試)
- 【效能測試】使用ab做Http效能測試HTTP
- 效能測試工具Jmeter你所不知道的內幕JMeter
- 門戶系統測試---測試計劃
- 效能測試
- APP功能測試中經常遇見,需要考慮到的測試點APP
- 你知道嗎?一個好的ERP系統需要具備這些特點
- 網路遊戲效能測試的幾點想法遊戲
- IQMath定點數運算庫效能測試
- 效能測試:分散式測試分散式
- Jmeter介面測試+效能測試JMeter