穀粒商城技術點筆記

2022-09-12 13:27:22 字數 1974 閱讀 3268

1.引入spring-boot-devtools,optional設定為true才生效

<

dependency

>

<

groupid

>org.springframework.boot

groupid

>

<

artifactid

>spring-boot-devtools

artifactid

>

<

optional

>true

optional

>

dependency

>

2.修改完頁面 ctrl + shift + f9 ,重新自動編譯下頁面。**配置,推薦重啟

switchhost  : 修改本機host檔案

gulimall.com  虛擬機器ip

網域名稱解析出ip->根據ip訪問虛擬機器->nginx監聽80埠獲取到請求->nginx進行處理**給閘道器(需要處理請求頭丟失問題)->閘道器配置跳轉位址

host資訊丟失

nginx.conf

--全域性塊:影響nginx全域性的指令:如使用者組、worker程序...

--events塊:影響nginx伺服器與使用者的網路連線

--http塊:日誌格式、連線、是否開啟壓縮

--http全域性塊:連線超時、upstram、錯誤頁面

--server塊:虛擬主機相關資訊

--location

--location

--location..

server_name : gulimall.com  監聽來自gulimall.com網域名稱下的訪問  在請求頭host:gulimall.com

proxy_pass : **通過**交請求)

壓力測試考察當前軟硬體環境下系統所能承受的最大負荷並找出系統瓶頸所在。

壓測在上線前進行測試能找出問題,如記憶體洩漏,併發與同步

有效的壓力測試系統將應用以下關鍵條件:重複、併發、量級、隨機變化

衡量系統處理能力的指標:吞吐量、響應時間、錯誤率

一般情況下:

測試計畫

執行緒組  

address in use

所有的物件例項以及陣列,都要在堆中建立。

新物件申請->伊甸園區放的下(分配物件記憶體)

->eden放不下,進行ygc->eden放得下(分配物件記憶體)

->eden放不下,放入old老年代->老年代放得下(分配物件記憶體)

->老年代放不下,fullgc->old放得下(分配)  

->放不下(報錯,記憶體溢位)

cmd -> jvisualvm

優化點:

壓測內容

壓測執行緒數

吞吐量/s

90%響應時間

99%響應時間

nginx

50gateway

50簡單服務

50首頁一級選單渲染

50**分類資料獲取

50首頁全量資料獲取

50nginx+gateway

50gateway+簡單服務

50全鏈路

50中介軟體越多,效能損失越大,大多都損失在網路互動;

業務:db承擔資料落盤工作。

快取資料:即時性、資料一致性要求不高;訪問量大且更新頻率不高

springboot2.0以後預設使用lettuce作為操作redis的客戶端,它使用netty進行網路通訊

lettuce的bug導致netty堆外記憶體溢位;netty如果沒有制定堆外記憶體,預設使用-xmx300m

解決方案:不能使用-dio.netty.maxdirectmemory只去調大堆外記憶體

1)公升級lettuce客戶端;2)切換使用jedis

穀粒商城學習系列筆記

1.穀粒 分布式基礎篇 筆記一 2.穀粒 基礎篇 筆記二 安裝linux虛擬環境 3.穀粒 基礎篇 筆記三 安裝docker 4.穀粒 基礎篇 筆記四 docker安裝mysql 5.穀粒 基礎篇 筆記五 docker安裝redis 6.穀粒 基礎篇 筆記六 專案初始化結構建立 7.穀粒 基礎篇 筆...

穀粒商城 1

virtualbox vagrant 安裝好vagrant 後 初始化vagrant init centos 7匯入centos7 vagrant up連線centos vagrant ssh修改vagranfile檔案 config.vm.network private network ip 19...

穀粒商城 Gateway

1.建立專案gulimall gateway引入pom org.springframework.cloudgroupid spring cloud starter gatewayartifactid 2.2.3.releaseversion dependency com.alibaba.cloudg...