一 網(wǎng)頁(yè)文件的元素構(gòu)成
- 文本
- JS
- css
- 多媒體文件(圖片、視頻错敢、語(yǔ)音)
二 http的請(qǐng)求原理
http請(qǐng)求之旅
- 瀏覽器輸入請(qǐng)求的url
- 將域名做dns解析
- 請(qǐng)求發(fā)送到服務(wù)器
- 服務(wù)器獲得響應(yīng)數(shù)據(jù)返回
- 到瀏覽器上解析渲染顯示
這幾個(gè)點(diǎn)我們要清楚
-
瀏覽器的并發(fā)請(qǐng)求
- 瀏覽器的并發(fā)請(qǐng)求數(shù)是針對(duì)域名維度
- 圖片請(qǐng)求是不需要cookie信息的
- CSS和JS的加載是阻塞性的加載
- 頁(yè)面要顯示翰灾,必須要求CSS要加載解析完成
http請(qǐng)求頭和響應(yīng)頭的認(rèn)識(shí)
請(qǐng)求頭Request Headers
響應(yīng)頭reponse Headers
怎么能夠讓頁(yè)面今早的顯示出來(lái)呢
減少http請(qǐng)求次數(shù)應(yīng)該是一個(gè)辦法
1.1 合并一些請(qǐng)求 css文件、JS文件是否可合并
1.2 頁(yè)面上有多個(gè)圖片稚茅,是否可生成一張圖片地圖增加域名
我們知道一個(gè)瀏覽器針對(duì)單個(gè)域名是有并發(fā)數(shù)限制的纸淮,那么我可否增加多個(gè)域名呢數(shù)據(jù)空間壓縮
3.1 源碼中不必要的空格,不必要的標(biāo)簽都去掉亚享,增加代碼規(guī)范
3.2 引用的JS或者css等文件咽块,只要需要的那一部分就可以了,不要全部放進(jìn)來(lái)
3.3 圖片這類(lèi)文件欺税,在不影響用戶(hù)體驗(yàn)的基礎(chǔ)上侈沪,盡量做到壓縮處理
3.4 數(shù)據(jù)在網(wǎng)絡(luò)中傳輸揭璃,數(shù)據(jù)量越小耗時(shí)越小,在服務(wù)端配置返回文件為gzip形式緩存
4.1 那些不是經(jīng)常改變的數(shù)據(jù)峭竣,我們加緩存塘辅,這樣避免重復(fù)去請(qǐng)求數(shù)據(jù)...
測(cè)試工具
擴(kuò)展閱讀:
書(shū)籍:《構(gòu)建高性能web站點(diǎn)》
后端性能
一套服務(wù)器的通用性架構(gòu)
關(guān)注指標(biāo)
- 網(wǎng)絡(luò)(用戶(hù)端到機(jī)房入口)
1.1 多線機(jī)房
北網(wǎng)通南電信,或者說(shuō)如果我們的服務(wù)要提供給學(xué)校皆撩,就需要考慮到教育網(wǎng)專(zhuān)線
1.2 網(wǎng)絡(luò)帶寬
機(jī)房的網(wǎng)絡(luò)的出口帶寬是否足夠支撐我們的并發(fā)業(yè)務(wù)扣墩,特別是涉及到流媒體業(yè)務(wù)帶寬消耗比較高的服務(wù) - 服務(wù)器資源
2.1 CPU
2.2 內(nèi)存
2.3 磁盤(pán)
2.4 文件句柄 - 中間件
3.1 tomcat\nginx http連接數(shù)、JVM的參數(shù)配置扛吞、開(kāi)啟gzip等
3.2 memcache\redis
3.3 activemq\hornetq
3.4 mysql 緩存配置呻惕、連接數(shù)配置 - 數(shù)據(jù)指標(biāo)
4.1 單場(chǎng)景下90%用戶(hù)的響應(yīng)時(shí)間
4.2 TPS
測(cè)試工具
- loadrunner\jmeter 壓測(cè)工具
-
nomn 服務(wù)器資源數(shù)據(jù)收集工具
服務(wù)器上運(yùn)行界面
生成的報(bào)告文件csv格式
- jconsole JVM內(nèi)存監(jiān)控工具
jconsole監(jiān)控jvm
- jvisualvm分析程序資源消耗
jvisualvm
-
datafactory 批量寫(xiě)入數(shù)據(jù)工具
測(cè)試時(shí),我們要關(guān)注什么
- 查看服務(wù)器日志滥比,是否有報(bào)錯(cuò)
- 數(shù)據(jù)庫(kù)慢日志
- 關(guān)注網(wǎng)絡(luò)帶寬瓶頸
擴(kuò)展閱讀
站點(diǎn):7點(diǎn)測(cè)試
書(shū)籍:
《MySQL性能調(diào)優(yōu)與架構(gòu)設(shè)計(jì)》
《性能之巔:洞悉系統(tǒng)亚脆、企業(yè)與云計(jì)算》