網(wǎng)站性能是客觀的指標(biāo),可以具體體現(xiàn)到響應(yīng)時間、吞吐量、并發(fā)數(shù)、性能計數(shù)器等技術(shù)指標(biāo)。
1、性能測試指標(biāo) 1.1 響應(yīng)時間
指應(yīng)用執(zhí)行一個操作需要的時間,指從發(fā)出請求到最后收到響應(yīng)數(shù)據(jù)所需要的時間。如下列出了系統(tǒng)常用的操作響應(yīng)時間表.
操作
響應(yīng)時間
打開一個網(wǎng)站
幾秒
數(shù)據(jù)庫查詢一條記錄(有索引)
十幾毫秒
機(jī)械磁盤一次尋址定位
4毫秒
從機(jī)械磁盤順序讀取1M數(shù)據(jù)
2毫秒
從SSD磁盤順序讀取1M數(shù)據(jù)
0.3毫秒
從遠(yuǎn)程分布式換成Redis讀取一個數(shù)據(jù)
0.5毫秒
從內(nèi)存讀取1M數(shù)據(jù)
十幾微妙
Java程序本地方法調(diào)用
幾微妙
網(wǎng)絡(luò)傳輸2Kb數(shù)據(jù)
1微妙
實踐中計算響應(yīng)時間通常是通過平均時間計算的平均值。
1.2并發(fā)數(shù)
指系統(tǒng)能夠同時處理的請求的數(shù)目,這個數(shù)字也反映了系統(tǒng)的負(fù)載性能。對于網(wǎng)站而言,并發(fā)數(shù)指網(wǎng)站用戶同時提交請求的用戶數(shù)目。
網(wǎng)站系統(tǒng)用戶數(shù)>網(wǎng)站在線用戶數(shù)>網(wǎng)站并發(fā)用戶數(shù)
1.3吞吐量
指單位時間內(nèi)系統(tǒng)處理的請求數(shù)量,體現(xiàn)系統(tǒng)的整體處理能力。對于網(wǎng)站,可用“請求數(shù)/秒”或“頁面數(shù)/秒”或“訪問人數(shù)/天”或“處理業(yè)務(wù)數(shù)/小時”等來衡量。
TPS(每秒事物數(shù))是吞吐量的一個常用量化指標(biāo)。刺猬還有HPS(每秒HTTP請求數(shù))、QPS(每秒查詢數(shù))。
1.4性能計數(shù)器
指操作系統(tǒng)的一些數(shù)據(jù)指標(biāo)如System load(系統(tǒng)負(fù)載),CPU使用率、內(nèi)存使用率、磁盤等使用情況。
2、性能優(yōu)化策略
根據(jù)網(wǎng)站分層架構(gòu),可分為Web前端性能優(yōu)化、應(yīng)用服務(wù)器性能優(yōu)化、存儲服務(wù)器性能優(yōu)化。
2.1 Web前端優(yōu)化 2.1.1 瀏覽器訪問優(yōu)化 減少HTTP請求數(shù),主要可通過合并CSS,JavaScript、圖片。 使用瀏覽器端緩存。在某些時候,靜態(tài)資源文件編寫需要及時應(yīng)用到客戶端瀏覽器,這種情況下,可通過改變文件名來實現(xiàn)。 啟用頁面壓縮,文本文件的壓縮效率可達(dá)80%以上。 CSS放在頁面最上面,JavaScript放在頁面最下面 減少Cookie傳輸。可以考慮使用獨立域名來發(fā)送Cookie等。 2.1.2 CDN加速
CDN的本質(zhì)仍然是一個緩存,只是部署在離用戶最近的服務(wù)器上,一般緩存的都是靜態(tài)資源。
2.1.3 反向代理
除了能夠保護(hù)網(wǎng)站安全的作用以及負(fù)載均衡的作用外,反向代理還能夠提供緩存作用(動態(tài)資源)。
2.2 應(yīng)用服務(wù)器性能優(yōu)化
應(yīng)用服務(wù)器就是處理網(wǎng)站業(yè)務(wù)的服務(wù)器,網(wǎng)站的業(yè)務(wù)代碼都部署在這里,主要優(yōu)化手段有緩存、集群、異步等。
2.2.1 分布式緩存
緩存主要用來存放哪些讀寫比很高、很少變化的數(shù)據(jù)。
分布式緩存指緩存部署在多個服務(wù)器組成的集群中,以集群方式提供緩存服務(wù),其具體架構(gòu)有兩種,一種是以JBoss Cache偽代碼的需要更新同步的分布式緩存,一種是以Memcached為代表的不互相通信的分布式緩存。
Jboss Cache 的分布式緩存在集群中的所有服務(wù)器中保存相同的緩存數(shù)據(jù),當(dāng)某臺服務(wù)器有緩存更新的時候,會通知集群中其他機(jī)器跟新緩存數(shù)據(jù)。優(yōu)點是應(yīng)用程序可以從本地快速的獲取緩存數(shù)據(jù),但當(dāng)集群規(guī)模較大的時候,緩存更新信息需要通過到集群所有機(jī)器,其代價可想而知。
大型網(wǎng)站需要的緩存數(shù)據(jù)一般都很大,可能會有TB的內(nèi)存占用,這時候就的使用Memcached,是一中互不通信的架構(gòu),每臺存儲的緩存數(shù)據(jù)可以不一樣。
2.2.2 異步操作
為了改善網(wǎng)站的擴(kuò)展性,可以使用消息隊列將調(diào)用異步化。
2.2.3 使用集群
在網(wǎng)站高并發(fā)訪問的情況下,使用負(fù)載均衡技術(shù)為一個應(yīng)用構(gòu)建一個由多臺服務(wù)器組成的集群,將并發(fā)訪問請求分發(fā)到多臺服務(wù)器上處理。
2.2.4 代碼優(yōu)化
代碼優(yōu)化主要涉及多線程、資源復(fù)用(對象池或單例)、數(shù)據(jù)結(jié)構(gòu)和垃圾回收。
2.3 存儲性能優(yōu)化
可以考慮使用分布式存儲、openfiler、磁盤陣列、HDFS(Hadoop)。
當(dāng)前題目:大型網(wǎng)站技術(shù)架構(gòu)(四)網(wǎng)站的高性能架構(gòu)
本文鏈接:http://www.ekvhdxd.cn/article34/cjcppe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、品牌網(wǎng)站建設(shè)、定制網(wǎng)站、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)