最近中文字幕2018免费版2019,久久国产劲暴∨内射新川,久久久午夜精品福利内容,日韩视频 中文字幕 视频一区

首頁 > 文章中心 > 正文

電子商務網站性能優化淺析

前言:本站為你精心整理了電子商務網站性能優化淺析范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

電子商務網站性能優化淺析

摘要:筆者以某電子商務網為例,介紹如何對原有網站進行技術優化。優化過程將分別從網站頁面優化、程序優化和數據庫優化三個方面進行分析。在頁面優化方面,從頁面元素組成、HTTP請求、頁面布局分析多方面進行優化;在程序優化方面,使用服務器數據緩存技術,將數據緩存到內存,同時還在部分程序中加入AJAX技術和靜態頁面生成技術;在數據庫優化方面,主要優化存在查詢緩慢問題的SQL語句,還要優化數據庫表以及MYSQL配置。在優化網站之后,使用測試軟件WebLoad和AB對網站進行性能測試,發現網站負載能力有所提高,達到了網站優化的目的。

關鍵詞:網站優化;性能;電子商務;數據庫

1引言

隨著互聯網、信息技術、移動支付等技術的飛速發展,電子商務行業也在快速發展,一時間涌現了大量的各種各樣的電子商務網站,包括B2B、B2C以及C2C的。這些網站每天都有成千上萬的人訪問,包含商品瀏覽、購買、比價等,如此高的訪問量,必須要優化和調整網站的性能才能保證網站的穩定運行,給客戶帶來良好的購物與訪問體驗。優化電子商務網站的性能主要可以通過硬件升級、重構構建、頁面優化、數據庫優化等技術實現,通過這些技術優化后的電子商務網站可以最大限度提高系統的高并發執行能力和運行效率,從而為更多的在線用戶服務。

2系統架構

“多省匯食材網”主要是一個食材價格比對、食材在線銷售的網站,每天自動收集各大市場各種食材的價格,為用戶提供食材比價的基礎,同時聯合供應商提供食材的在線購買和配送服務。該網站每天數據錄入量和訪問量巨大,目前的平臺構架和技術很難支撐現有的業務訪問量,因此,需要對其進行性能優化。本次優化方案主要從頁面優化、程序優化、數據庫優化三個方面進行優化升級。頁面優化:主要從頁面元素的布局合理性和HTTP請求數等幾方面進行考慮;程序優化:主要在原有系統中引入數據緩存技術和靜態頁面生成技術,并同時配合使用了AJAX技術對程序進行優化;數據庫優化:主要在數據庫的優化中對SQL語句和表進行優化。系統優化架構圖如圖1所示:

3系統優化的實現

3.1頁面優化

3.1.1減少HTTP請求次數。Web頁面包括了各種頁面元素,例如商品圖像、頁面樣式表、JS腳本和Flash動畫等,當用戶訪問頁面時,瀏覽器需要將這些元素下載到本地進行解析展示。當HTTP訪問次數過多,服務器性能和網絡帶寬都會被下載任務所占用,因此,需要減少HTTP的請求次數。這只是頁面優化的開始,根據調查得知電子商務網站的訪問量中有40%~60%屬于首次訪問,所以加快首次訪問的速度是提升用戶購物體驗的關鍵。3.1.2合理設置頁面過期時間。為了提升用戶的購物體驗、吸引顧客的目光,電子商務網站需要將網頁制作得豐富多彩,增加各種頁面元素,當客戶端第一次訪問時,不得不面臨大量的HTTP請求,如果沒有設置頁面過期時間,當用戶下次訪問時,又得再次提交重復的HTTP請求,設置了頁面過期時間后客戶端就會將這些資源緩存下來,當客戶下次訪問時客戶端就可以使用本地緩存的資源來展示頁面,從而減少HTTP請求的次數和大小,使得網頁加載速度變快。但是頁面的過期時間設置過大,客戶端會一直緩存之前的資源,當用戶訪問網站時不再繼續下載新的資源文件,頁面將會過時甚至無法顯示,因此,設置合理的頁面過期時間很重要。3.1.3壓縮頁面元素頁面上的很多元素基本都是圖片、樣式和JS,這些文件的壓縮比都很大,經過壓縮可以減少體積、加快網絡傳輸時間,客戶端在收到壓縮后的文件后再進行解壓獲得原來的文件,將負載壓力從服務器端轉移到客戶端,從而提高服務器的響應時間。HTTP/1.1的標準中Web客戶端的HTTP請求中可以通過設置Accept-Encoding頭來表明支持的壓縮類型。客戶端瀏覽器在訪問頁面時根據頁面頭設置的文件類型來決定是否壓縮。如果需要壓縮,則將HTML文件、CSS文件和JS文件、圖片文件等進行壓縮,通過壓縮HTTP響應內容可減少頁面響應時間。3.1.4合理放置樣式表和腳本文件??蛻粼谠L問一個頁面時首先看到的是頁面的效果,然后才會移動鼠標觸發頁面的特效,根據這一用戶習慣,可以將CSS樣式表放在HTML的頭部,將JS引入文件放在頁面的底部,這是因為瀏覽器解析HTML文件采用的是順序執行方式,這樣由于CSS文件以及樣式表在頭部可以讓頁面的布局和展示很快展示在用戶眼前,提高客戶訪問頁面的友好度、提升購物體驗。將JS文件放在底部是因為當所有頁面都加載完畢后才開始加載JS特效,當用戶點擊特效時JS已加載完畢,這樣可以利用客戶的時間差來增加頁面加載的時間。3.1.5把JavaScript和CSS放到外部文件中。電商網站中的頁面數量很多,如果每個頁面中都寫入JS和CSS文件必將導致HTML文件過大,因此,可將JavaScript和CSS放入幾個單獨的外部文件封裝起來,然后在頁面中導入,這樣做的明顯好處有兩個:第一,可以方便代碼的管理、維護,如果將JavaScript、CSS和頁面代碼一起寫入頁面中,那頁面代碼將會相當宏大并且雜亂,維護起來將很繁瑣艱難;第二,使用外部文件會加快頁面顯示速度,因為外部文件會被瀏覽器緩存,這在多次訪問時可大大加快訪問速度。

3.2程序優化

3.2.1頁面靜態化。動態網頁需要執行拼接等操作,耗時較大。而客戶訪問最多的就是商品詳細頁面,每一種商品的詳細頁面在生成過后不經過人為操作是不會發生變化的,因此,可以將商品詳情頁面進行靜態化以加快服務器的響應時間。對于商品詳情頁在添加完商品保存后將該頁面進行靜態化,對于其他頁面當客戶第一次訪問該頁面時,后臺服務程序首先檢查該頁面是否有靜態頁面,如果有直接返回,如果沒有則生成靜態頁面,并更改該頁面的訪問路徑,當下次訪問時直接返回該頁面的靜態頁面。3.2.2AJAX提交。在價格公告模塊中,當用戶選擇一個商品后,只需用選擇商品價格時間查找價格,點擊查找后整個商品詳情頁面不會改變,發生改變的只有商品的價格屬性,所以不需要重新請求并刷新整個頁面,可以使用AJAX提交局部刷新請求,減少網絡訪問次數,提高頁面的流暢度,價格數據更新快速,用戶體驗更加快捷流暢。

3.3數據庫優化

3.3.1SQL語句的優化。本系統數據庫使用MYSQL5.0,對SQL語句進行的優化將基于此數據庫來展開。在本系統中優化SQL語句的步驟是:首先運用showstatus命令了解各種SQL的執行頻率,然后定位到執行效率較低的SQL語句,通過explain命令來分析低效的SQL的執行計劃,然后根據出現的問題采取相應的優化方法。(1)使用索引:增加索引可以減少檢索的時間,可以在經常查詢的字段上增加索引,但是增加了索引之后對于數據的修改性能會有影響,這是增加索引需要額外注意的事項。在本系統中在用戶的用戶名和密碼與商品的名稱上增加索引,以提高用戶登錄的速度和查找商品的速度。(2)使用analyze和checktable命令定期分析和檢查表。(3)定期優化表,電商系統中的商品表和商品推薦表等在經過了很多次的訪問以及修改后存在很多碎片,此時使用optimizetable命令來對數據表中的空間碎片進行整理與合并,以減少空間的浪費和提高操作的效率。(4)優化SQL部分語句,導入大批量數據時,使用loaddatainfile命令可有效提高導入效率,使用索引來滿足orderby子句將不需要額外的排序,對于嵌套查詢,有些情況下用JOIN來代替子查詢將會得到更高的效率。3.3.2通過拆分表提高訪問效率。在本銷售系統中,有一模塊叫“商品推薦模塊”,本模塊主要是當客戶查看或者購買一個商品后系統需要關聯類似的商品,在用戶下次登錄時進行推薦。由于客戶每次點擊一種商品都會進行關聯,如果一個用戶每天點擊10個商品,每天有500個客戶,那么一個月表里將會有15萬條記錄,如果每個用戶登錄時都在這個表里進行關聯商品的話,那將會出現速度緩慢的情況。這里將采用分表的方法來提高查詢效率,將一個月按時間分成三部分,記錄分別存放在三個表里,如17_1_1表示2017年1月第一部分的記錄,由于用戶下次再登錄網站購買商品多為10天以內的用戶,大部分用戶都會在最近表里命中,故這樣可以有效提高記錄的命中率,提高數據查詢的性能。

4系統性能測試

4.1用AB進行性能測試

首先,利用AB對優化后的網站進行性能考察,運行命令為:ab-c50-n1000http://localhost/(虛擬50個用戶并發執行1000次訪問)。優化前后性能對比結果如表1所示:從表1中的測試結果來看,經過優化后的電子商務網站的服務器負載能力有了一定的提升,由原來每秒只能響應62.11個用戶請求提高到了75.21個,并且50%的用戶請求在656ms內得到了響應。

4.2用WebLoad進行性能測試

用WebLoad對整個網站進行測試,首先啟錄制操作腳本,然后通過腳本建立壓力測試模板,接著進行壓力測試,在“多省匯食材網”的壓力測試中,模擬現實中的用戶對頁面進行的一系列操作,壓力測試運行時間為8分鐘。通過測試比較,將關鍵參數取出來對比,建立表2。通過表2可以看出,在8分鐘的壓力測試中,同樣的并發訪問量,優化后平均每個頁面返回時間少了0.321秒,在480秒內優化后可以多返回331個頁面,平均每秒多返回0.872個頁面,點擊數量也每秒增多了5.008次。

5結語

電子商務系統的優化是一個動態化的工作,本文主要從前臺頁面,數據庫等方面對網站進行了優化,并做了測試,達到了預期的目標,此外時優化有很多方法,如建立多服務器群組進行負載均衡、CDN(ContentDeliveryNetwork,內容分發網絡)的應用等,將會在更進一步的優化工作中得到應用。

作者:劉佳 單位:寧夏財經職業技術學院

主站蜘蛛池模板: 镇赉县| 杂多县| 遂川县| 河曲县| 禄丰县| 永和县| 临西县| 文安县| 将乐县| 习水县| 龙泉市| 开鲁县| 扶余县| 政和县| 盘山县| 称多县| 南宫市| 容城县| 西贡区| 太谷县| 全南县| 拜泉县| 呼玛县| 连城县| 大邑县| 建宁县| 云梦县| 博乐市| 莆田市| 金阳县| 东明县| 麻城市| 青河县| 河南省| 绥中县| 丰原市| 克拉玛依市| 杭州市| 安岳县| 海伦市| 桂平市|