javaee項目優(yōu)化之傳輸數(shù)據(jù)壓縮


title: 2017/4/2/01
date: 2017-04-02 09:45:32


說在前面

項目即將上線了,現(xiàn)在在各種優(yōu)化,第一步肯定是從帶寬入手了,可是帶寬說穿了就是Money,要加大就得付費,剛剛好我們團隊現(xiàn)在神馬都不缺,就卻錢,所以只能另尋它法,最后瞄準了數(shù)據(jù)壓縮,就是將從服務器傳輸?shù)娇蛻舳说臄?shù)據(jù)進行壓壓壓!


描述

gzip是http協(xié)議中使用的一種加密算法,客戶端向web服務器端發(fā)出了請求后,通常情況下服務器端會將頁面文件和其他資源,返回到客戶端,客戶端加載后渲染呈現(xiàn),這種情況文件一般都比較大,如果開啟gzip ,那么服務器端響應后,會將頁面,JS,CSS等文本文件或者其他文件通過高壓縮算法將其壓縮,然后傳輸?shù)娇蛻舳?,由客戶端的瀏覽器負責解壓縮與呈現(xiàn)。通常能節(jié)省40%以上的流量(一般都有60%左右),一些html,JSP文件也能夠進行壓縮。


由于我們的項目是部署在tomcat上的,所以直接以tomcat為例子

1、首先打開tomcat目錄下的conf下的server.xml,找到一下信息:

 <Connector executor="tomcatThreadPool"
           port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

2、在找到的信息里邊添加部分配置信息,變成如下所示:

<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" executor="tomcatThreadPool" URIEncoding="utf-8" 
           compression="on" 
           compressionMinSize="2048" compressableMimeType="application/json,text/html,text/xml,application/javascript,text/css,text/plain" 
/>

配置信息:

compression="on" // 打開壓縮功能
compressionMinSize="2048" // 啟用壓縮的輸出內(nèi)容大小,默認為2KB
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" // 哪些資源類型需要壓縮,版本不同,可能這個配置會不同,具體的參考同目錄下的web.xml中mime-mapping里邊的內(nèi)容

3、重啟tomcat即可


那么問題來了,配置了之后如何知道是否生效了呢

  • 方式一:在瀏覽器訪問之后查看,例如:
網(wǎng)頁壓縮截圖.png
查詢頁面未壓縮.png

壓縮過的:

查詢頁面壓縮.png

ps:從這幅圖中也可以看出壓縮的幅度有多大了,沒有壓縮前服務器返回的字節(jié)數(shù)是4851,而在壓縮過后服務器返回的數(shù)據(jù)就變成了1766,而壓縮率達到了63.6%。


Note:發(fā)布的這些文章全都是自己邊學邊總結的,難免有紕漏,如果發(fā)現(xiàn)有不足的地方,希望可以指出來,一起學習咯,么么噠。
開源愛好者,相信開源的力量必將改變世界:
** osc :** https://git.oschina.net/xi_fan
github: https://github.com/wiatingpub

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 從三月份找實習到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍閱讀 42,810評論 11 349
  • 本文整理自MIN飛翔博客 [1] 1. 概念 協(xié)議是指計算機通信網(wǎng)絡中兩臺計算機之間進行通信所必須共同遵守的規(guī)定或...
    HoyaWhite閱讀 2,796評論 2 20
  • 原創(chuàng)作品,請勿抄襲,翻版必究。轉載請注明作者。 簡介 資深的前端開發(fā)人員都知道,在web開發(fā)中,對js、css、圖...
    yitalalww閱讀 16,268評論 4 11
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,275評論 6 342

友情鏈接更多精彩內(nèi)容