ajax(阿賈克斯)的技術應用在性能測試中適用情況初步分析
現在目前大家均在流行ajax的技術,那么在大規;ヂ摼W應用是不是適合
這幾天做了關于ajax的性能測試,發現在使用應用時,每一次操作均會向服務器提交請求,關于這一點,我有一些看法:
下面是我做的一個簡單的測試對比,在網站上發布信息
測試的應用流程如下(發布offer信息),我用http sniffer跟蹤的結果(紅色是使用ajax受影響的部分):
沒有使用ajax的大致服務器流程:
1.打開發布頁面
2取所有的省份、類目信息(大小為0.6M)
3用戶填寫
4提交
使用ajax服務器請求流程
1 打開發布頁面
2 取部分默認省分,類目信息(大約為0.2M),默認省假設為江蘇,默認類目為IT
3 用戶填寫
4 修改省分為其它時,發生一次服務器提交(大小為0.2M),在中國大約是31/32用戶會改變
5 然后用戶又修改類目,發生一次提交(大小為0.2M),也是必然發生的動作
6 最終寫完提交
從分析的結果來看,本來一次連接,分成了三次,有可能別人會說,第二次,第三次是不一定發生的,但從了解的情況來看,后面二次是必需的
從最終的結果來看:流量并沒有減少,反而在后面用戶增加了兩次提交等待,同時cpu增加了負擔,假設原有pv為8W,結果使用ajax反而增加了24W,對服務器增大了壓力,而目前我們的網絡流程與服務器處理能力相比,服務器處理能力更緊張,所以出現發布上去之后會變慢,或取不到(當然有另一部分原因,是內存泄漏,測試結果30分鐘后會出現內存出錯),對比測試的結果也表明ajax會增加服務器請求的處理數量
所以從性能的角度來說,我建議大家在使用ajaxj時選取那種在處理流程中,第二步,第三步,用戶是少量的,不確定的場景,不是100%發生的場景
文章來源于領測軟件測試網 http://www.kjueaiud.com/