馮 倩
(靈寶市高級(jí)技工學(xué)校,靈寶 472500)
近二十年來,互聯(lián)網(wǎng)技術(shù)以超乎想象的速度高速發(fā)展。Web 以其廣泛性、交互性和易用性的優(yōu)勢(shì)快速地應(yīng)用到社會(huì)的各個(gè)行業(yè)中。無論是早期互聯(lián)網(wǎng)的門戶網(wǎng)站還是現(xiàn)在風(fēng)頭正盛的電子商務(wù)網(wǎng)站都應(yīng)用 Web 技術(shù)。Web 性能是影響Web 應(yīng)用程序使用的重要因素,所以,改善和提高Web 應(yīng)用的性能是一個(gè)重要的研究課題。早期的Web 應(yīng)用多是基于靜態(tài)頁面,發(fā)展到今天的Web 應(yīng)用已經(jīng)逐漸發(fā)展為動(dòng)態(tài)、可交互的應(yīng)用。絕大部分企業(yè)的商業(yè)應(yīng)用都建立在Web 之上,Web 性能的好壞直接影響經(jīng)濟(jì)發(fā)展和企業(yè)競(jìng)爭(zhēng)力。
Web 性能的測(cè)試目前主要是指對(duì)于動(dòng)態(tài)Web 應(yīng)用性能的測(cè)試。Web 測(cè)試的主要內(nèi)容包括功能測(cè)試、性能測(cè)試、可用性測(cè)試、客戶端兼容測(cè)試和安全性測(cè)試。本文主要研究的是Web 的性能測(cè)試。對(duì)于Web 的性能測(cè)試簡單來講就是模仿Web 用戶對(duì)于Web 系統(tǒng)進(jìn)行一系列的操作,然后發(fā)現(xiàn)Web 系統(tǒng)的各項(xiàng)性能指標(biāo),根據(jù)測(cè)試結(jié)果進(jìn)行系統(tǒng)優(yōu)化。對(duì)Web 性能的測(cè)試主要包括以下指標(biāo):Web 的前端和后端響應(yīng)時(shí)間、系統(tǒng)的吞吐量(TPS)、網(wǎng)絡(luò)資源占用、硬件資源狀態(tài)等。通過這些指標(biāo)可以選擇合適的測(cè)試工具和測(cè)試方法來對(duì)Web 進(jìn)行測(cè)試,找出影響Web 性能的問題,為整個(gè)Web 環(huán)境的優(yōu)化提供有力的依據(jù)。
響應(yīng)時(shí)間一般都是測(cè)試系統(tǒng)性能最直觀和最直接的測(cè)試內(nèi)容。對(duì)于Web 性能的測(cè)試,響應(yīng)時(shí)間不僅僅是后端的響應(yīng)時(shí)間測(cè)試,更應(yīng)該包括前端的響應(yīng)時(shí)間測(cè)試。一般測(cè)試都是利用測(cè)試工具對(duì)于后端的響應(yīng)進(jìn)行測(cè)試,生成數(shù)據(jù)。但是前端的響應(yīng)時(shí)間能直接影響用戶對(duì)Web 性能的感受,所以,對(duì)Web 性能的測(cè)試也要包括前端的響應(yīng)時(shí)間。前端響應(yīng)時(shí)間的測(cè)試主要包括:DNS 解析、TLS 的建立、字節(jié)流的發(fā)送和各種請(qǐng)求的連接。后端響應(yīng)時(shí)間具體包括:前端請(qǐng)求的等待時(shí)間、接收信息流的時(shí)間和返回相響數(shù)據(jù)的時(shí)間。通常來講,用戶能接受的響應(yīng)時(shí)間為5 秒之內(nèi),超過這個(gè)響應(yīng)時(shí)間就說明Web 性能存在問題。
系統(tǒng)吞吐量是單位時(shí)間內(nèi),CPU 從存儲(chǔ)設(shè)備中讀取、處理和存儲(chǔ)數(shù)據(jù)的量,也被成為TPS(每秒鐘equest/事務(wù) 數(shù)量)。系統(tǒng)吞吐量是影響Web 性能的一個(gè)重要因素。通常,影響一個(gè)Web 系統(tǒng)吞吐量的因素有request 對(duì)CPU 的消耗、外部接口與IO。消耗越高,系統(tǒng)的吞吐能力越差。一些Web 系統(tǒng)中的消耗過高,系統(tǒng)處理能力變差,性能也會(huì)出現(xiàn)問題。所以,對(duì)于系統(tǒng)吞吐量的測(cè)試能夠很好的驗(yàn)證Web 性能是否存在問題。
網(wǎng)絡(luò)資源占用情況也是影響Web 性能和系統(tǒng)響應(yīng)時(shí)間的一個(gè)重要因素。當(dāng)測(cè)試內(nèi)存、CPU 和其他硬件資源都正常的情況下,Web 的系統(tǒng)吞吐量較低,那么就需要考慮是網(wǎng)絡(luò)資源占用較高導(dǎo)致的Web 性能差。對(duì)于網(wǎng)絡(luò)資源占用情況的測(cè)試一般采用在Linux 系統(tǒng)中查看網(wǎng)卡信息和帶寬的信息,另外也可以在任務(wù)管理器中進(jìn)行查看。對(duì)于網(wǎng)絡(luò)資源占用情況的測(cè)試目前許多電腦管家類軟件也專門有測(cè)試網(wǎng)絡(luò)資源占用情況的功能。
硬件資源是Web 運(yùn)行的硬件基礎(chǔ),與軟件和網(wǎng)絡(luò)一起構(gòu)成了Web 運(yùn)行的三大支持。硬件資源情況的優(yōu)劣直接影響了Web 性能的好壞。通常對(duì)硬件資源情況的測(cè)試包括對(duì)CPU 的測(cè)試和對(duì)內(nèi)存狀態(tài)的測(cè)試 。對(duì)于CPU 的測(cè)試主要是測(cè)試CPU 的使用率是否超過百分之八十,如果測(cè)試結(jié)果超過,Web 的性能就比較差。對(duì)于內(nèi)存的測(cè)試主要是測(cè)試是否出現(xiàn)內(nèi)存持續(xù)上漲的情況。這些硬件資源情況的測(cè)試是Web 性能測(cè)試的重要內(nèi)容之一。
對(duì)于Web 性能的測(cè)試,不僅僅需要從測(cè)試內(nèi)容方面進(jìn)行研究,更需要掌握一些比較優(yōu)秀的測(cè)試工具來進(jìn)行性能測(cè)試過程。專業(yè)的測(cè)試軟件目前市場(chǎng)上有很多產(chǎn)品,主要推薦以下幾款Web 性能測(cè)試工具。
1.Loadrunner 測(cè)試工具
這是一種能夠模擬千萬級(jí)別的用戶負(fù)載的一種實(shí)時(shí)性能檢測(cè)軟件。使用這款性能測(cè)試軟件對(duì)Web 進(jìn)行測(cè)試能夠高效地預(yù)測(cè)Web 的性能負(fù)載。
2.Apache JMeter 測(cè)試工具
這是一款基于Java 的測(cè)試軟件,對(duì)靜態(tài)Web 和動(dòng)態(tài)Web 都能進(jìn)行性能測(cè)試。主要是利用對(duì)服務(wù)器和網(wǎng)絡(luò)進(jìn)行巨大負(fù)載的模擬進(jìn)行性能測(cè)試。
3.Load UI 測(cè)試工具
這是一款壓力測(cè)試軟件,能夠高效的對(duì)Web 進(jìn)行各種功能測(cè)試和性能測(cè)試。同時(shí),這款工具還可以在測(cè)試期間進(jìn)行創(chuàng)建、配置和更新測(cè)試內(nèi)容。
Web 性能測(cè)試的方法主要有壓力測(cè)試和負(fù)載測(cè)試。對(duì)于Web 性能的測(cè)試過程主要是利用測(cè)試工具進(jìn)行模擬測(cè)試Web 在各種環(huán)境下的各項(xiàng)性能指標(biāo)是否正常。在性能測(cè)試中需要測(cè)試工具模擬大量的并發(fā)用戶,同時(shí)監(jiān)控系統(tǒng)進(jìn)行負(fù)載參數(shù)的分析。對(duì)于Web 的系統(tǒng)平均響應(yīng)時(shí)間進(jìn)行觀察和記錄。對(duì)于系統(tǒng)資源中的CPU 占用率,I/O 讀寫請(qǐng)求數(shù)、讀寫量,帶寬的占用率以及內(nèi)存的占用率進(jìn)行測(cè)試和記錄。對(duì)于Web 系統(tǒng)進(jìn)行壓力測(cè)試和負(fù)載測(cè)試之后,利用測(cè)試的性能指標(biāo),對(duì)Web 性能做出評(píng)估。
由于Web 應(yīng)用在實(shí)際的使用中還有許多能夠提升性能的空間,這就需要對(duì)Web 進(jìn)行性能測(cè)試并作出評(píng)估,然后在此基礎(chǔ)上進(jìn)行性能優(yōu)化。對(duì)Web 的性能的測(cè)試能有效的識(shí)別出Web 系統(tǒng)的問題所在和瓶頸所在,企業(yè)能夠在性能評(píng)估之后做出突發(fā)負(fù)載的預(yù)案。對(duì)于Web 性能的測(cè)試就是通過測(cè)試工具模擬大量的用戶同時(shí)訪問Web系統(tǒng),測(cè)試Web 系統(tǒng)的各項(xiàng)性能指標(biāo),作出性能評(píng)估。主要的方法就是壓力測(cè)試和負(fù)載測(cè)試。通過性能測(cè)試能夠預(yù)測(cè)Web 系統(tǒng)的最大負(fù)載能力,作出性能優(yōu)化方案和負(fù)載預(yù)案。