導航:首頁 > 配伺服器 > 前端如何減少伺服器的壓力

前端如何減少伺服器的壓力

發布時間:2022-10-09 11:24:04

Ⅰ 純靜態網頁能減輕伺服器CPU壓力嗎

當然可以,只要減少指令、運算等,就能減少CPU的使用,不過一般來說伺服器的處理器資源是用不完的,一般不夠用的是內存和磁碟空間。你可以去伺服器廠商(正睿)的網上找找相關技術文檔參考一下,很快就清楚了!

Ⅱ 如何減輕視頻播放時伺服器的壓力

第一、將視頻格式設置為流媒體格式如:rm/fly等格式;第二、盡量採用壓縮視頻,盡量使視頻文件變小;第三、調用第三方伺服器外鏈,如:華為直鏈等。

Ⅲ 如何提高資料庫性能,減少資料庫伺服器壓力瓶頸一兩個

如果是在本身配置上的原因(配置低,產品老化等),可以考慮增加配置,提高性能;如果是各種應用造成的資源浪費引起,那麼可以對伺服器做一些優化,關掉一些不必須要的應用。伺服器廠商也就那麼多個,比如國內的正睿、浪潮、曙光、聯想等,國外的戴爾、惠普等

Ⅳ 如何避免前端輪詢太頻繁對伺服器造成壓力

既然是微信,最佳的是做socket連接,不過需要你們服務端改造下,這樣前端比較省心,服務端推送就好了

其次的方案是參考comet模式,發一個ajax請求出去後,伺服器如果沒有新消息,不要反回,hold住這個連接,直到有數據;

前端要做三個事情:
第一個事情是由於http是短連接,一般瀏覽器都會設置一個超時時間,所以前端這個連接如果超過一定時間沒有返回,需要abort掉,重新發起,推薦30秒;
第二個事情是每次伺服器有數據返回後,這個請求就結束了,你需要發起一個新的請求做監聽;
第三個事情是多頁面請求沖突問題,比較麻煩,不過如果你們是小游戲,應該是單頁面應用就不用處理了,一般多頁面應用或者WEB網站這類的,是通過localstorage來共享信息避免重發請求,也可以關掉前一個請求,在當前頁面重新發起一個請求

不管哪種方案都要伺服器端做改造,這不僅僅是前端自己的事,因為如果每一個連接都開一個線程,很快就會內存不夠掛掉的。

Ⅳ 如何避免前端輪詢太頻繁對伺服器造成壓力

國家對車用汽油有嚴格的標准。它不僅要求汽油有一定的辛烷值(俗稱汽油標號),同時對 異響,怠速抖動,動力嚴重不足,甚至發動機無法起動。 冷濾點 冷濾點是衡量輕柴油低溫性

Ⅵ Web前端新手要掌握的性能優化

今天小編要跟大家分享的文章是關於Web前端新手要掌握的性能優化知識。本文將分享一些前端性能優化的常用手段,包括減少請求次數、減小資源大小、各種緩存、預處理和長連接機制,以及代碼方面的性能優化等方面。下面來和小編一起看一看吧!

base64:尤其是在移動端,小圖標可以base64(webpack),大圖片慎用(如果載入速度過於慢的,而且很重要的圖片,可以用base64)


1、減少HTTP的請求次數和傳輸報文的大小


「CSSSprite(雪碧圖、圖片精靈)技術」


使用字體圖標(IconFont)或者SVG等矢量圖


+減少HTTP請求次數或者減少請求內容的大小


+渲染更快:因為它們是基於代碼渲染的,而對於點陣圖(png/jpg/gif)是需要先把圖片編碼在渲染


+不容易是幀變形


+也可以使用webp格式圖片,這種格式要小一些(但是需要伺服器端支持這種格式的請求處理)


「圖片懶載入(延遲載入)技術」


+第一次載入頁面的時候不去請求真實的圖片,提高第一次渲染頁面的速度,請求圖片的額外消耗盡可能不要處理


+當頁面載入完,把出現在用戶視野區域中的圖片做真實載入,沒有出現的先不載入(節約流浪,也能減少對伺服器的請求壓力)


o對於數據我們也盡可能分批載入(不要一次請求過多的數據,例如分頁技術)


音視頻文件取消預載入(preload='none'),這樣可以增加第一次渲染頁面的速度,當需要播放的時候在載入


客戶端和伺服器端的數據傳輸盡可能基於JSON格式完成,XML格式比JSON格式要大一些(還可以基於二進制編碼或者文件流格式,這種格式比文件傳輸好很多)


「把頁面的css/js等文件進行合並壓縮」


合並:爭取css和js都只導入一個(webpack可以實現並合並壓縮哦)


壓縮:基於webpack可以壓縮,對於圖片自己找工具先壓縮,可以使用伺服器的GZIP壓縮


圖片BASE64(用BASE64碼代表圖片,減少HTTP,增加瀏覽器渲染速度,所以真是項目中,尤其是移動端,如果圖片載入緩慢,BASE64一下就好了,;但是base64會導致文件中心的代碼超級惡心,不利於維護和開發,所以減少使用);webpack中科院配置圖片


2、設置各種緩存、預處理和長連接機制


不經常更改的靜態資源做緩存處理(一般做的是304或者ETAG等協商緩存)


「建立Cache-Control和ExpiresHTTP的強緩存」


DNS緩存或者預處理(DNSPrefetch),減少DNS的查找


設置本地的離線存儲(manifest)或者把一些不經常更改的數據做本地臨時存儲(webstorage,indexdb)等


有錢就做CDN(地域分布式伺服器),或者加伺服器


「建立Connection:keep-aliveTcp長連接」


使用HTTP2版本協議(現在用的一般都是http1.1),可以多條tcp通道共存=>管道化鏈接


一個項目分為不同的域(不同的伺服器),例如:資源web伺服器、數據伺服器,圖片伺服器,視頻伺服器等,合理利用伺服器資源,但是導致過多的DNS解析


Cache-Control的優先順序高於Expires


基於本地存儲,做數據的存儲


3、代碼方面的性能優化


減少對閉包的使用(因為過多使用閉包會產生很多不銷毀的內存,處理不好的話,會導致內存溢出「棧溢出」),減少閉包的嵌套(減少作用域鏈的查找層級)


對於動畫來說:能用css解決的不用js(能夠用transform處理的,不用傳統的css樣式,因為transform開啟硬體加速,不會引發迴流,或者使用定位的元素也會好很多,因為定位的元素脫離文檔流,不會對其他元素的位置造成影響),能用
requestAnimationFrame解決的不用定時器


+用requestAnimationFrame還有一個好處,當頁面處於休眠無訪問狀態,動畫會自己暫停,知道回復訪問才開始,而定時器是不論什麼狀態,只要頁面不管,就一直處理


避免使用iframe(因為iframe會嵌入其他頁面,這樣父頁面渲染的時候,還要同時把子頁面也渲染了,渲染進度會變慢)


減少直接對DOM的操作(原因是減少DOM的迴流和重繪...),當代項目基本基於mvvm,mvc數據驅動視圖渲染的,對DOM的操作框架本身完成,性能要好很多


低耦合高內聚(基於封裝的方式:方法封裝,插件,組件,框架,類庫等封裝,減少頁面中的冗餘代碼,提高代碼使用率)


盡可能使用事件委託


避免出現死循環或者嵌套循環(嵌套循環會成倍增加循環的次數)


項目中盡可能使用非同步編程來模擬出多線程的效果,避免主線程阻塞(非同步操作基於Promise設計模式來管理)


JS中不要使用with


避免使用css表達式


函數的防抖和節流


減少使用eval(主要原因是防止壓縮代碼的時候,由於符號書寫不合規,導致代碼混亂)


圖片地圖:對於多次調取使用的圖片(尤其是背景圖),盡可能把它提取成為公共的樣式,而不是每一次重新設置background


減少filter濾鏡的使用


盡可能減少選擇器的層級


盡可能減少table布局


手動回收堆棧內存(賦值為null)


「棧溢出:死遞」


functionfunc(){


func();


}func();


解決方案:


functionfunc(){


setTimeout(func,0);


}func();


相互引用:引用類型之間的相互調用,形成嵌套式內存


letobj1={


name:'obj1',};


letobj2={


name:'obj2',


x:obj1}


obj1.x=obj2;


以上就是小編今天為大家分享的關於Web前端新手要掌握的性能優化知識的文章,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助,想要了解更多web前端知識記得關注北大青鳥web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的web前端工程師。


Ⅶ 怎樣減輕伺服器壓力

單台伺服器的話根據咱們跑的應用和訪問客戶端就決定了伺服器的壓力,一般當有大型數據處理的時候會通過多台伺服器集群工作,多台伺服器分擔大型數據的工作。減輕單台伺服器的壓力,延長伺服器壽命

Ⅷ 日獨立ip 10萬 網站構架方案

PS:
1、網站開發費用大約多少 看功能程度5-10W
2、服務大約要幾台,多少錢 3台 15W
3、對帶寬的要求 至少100M獨享

資料庫建議還是使用Mysql做集群吧,或者用Oracle,一台就搞定,不過伺服器配置要好一點。
前端可以使用Lighttpd+Squid+Apache的配置,減少伺服器的壓力,使用負載均衡;業務邏輯和資料庫之間可以使用membercached+hibernate來實現對數據的緩存。
對靜態資源實施FastCDN加速,把圖片、CSS文件、JS文件等存放在靜態資源伺服器上。
前端的話使用Java或者PHP並不是那麼重要了。
推薦適用於大型應用的Java框架:
Struts2(Webwork) + Spring + Hibernate(include membercached) + Freemarker or JSP(推薦使用Freemarker,頁面執行速度接近Html靜態頁面了)
Hibernate 可以換成 ibatis3.0,然後根據需要自己開發與Membercached的集成。
優點:
1、開發速度明顯優於Struts1,目前本人正在使用Struts2,深有體會;
2、維護成本降低,比較適應需求的不斷變更;
3、學習曲線較短,比較適合小團隊快速上手;
4、現成的成熟的插件豐富,很多組件不需要自己開發;
缺點:
1、團隊里必須有人對其要有深入的理解,否則優化它的效果甚微;
2、前期的准備工作比較繁重,但是後期會比較輕松;
3、部份重要功能成為雞肋,如自帶的Ajax、JSON插件(根本無法使用,慢到死,要麼就功能不完善,還要有很棒的代替品:jQuery、Gson等)
前端甚至可以使用Membercache對頁面內容進行緩存,可以達到動態靜態的快速轉換。

伺服器的優化及選擇:
Sun的技術,當然配合Sun的伺服器才會達到質的飛躍(註:我不是Sun的托,只是Sun公司到我們公司做過伺服器的對比測試而已)。
同配置下性能對比:
Sun Solaris > Linux(Windows)

Ⅸ 現在什麼技術取代了jsp

Spring Boot一部分取代了jsp:
以前老的方式是:
1.客戶端請求
2.服務端的servlet或controller接收請求(路由規則由後端制定,整個項目開發的權重大部分在後端)
3.調用service,代碼完成業務邏輯
4.返回jsp
5.jsp展現一些動態的代碼
新的方式是:
1.瀏覽器發送請求
2.直接到達html頁面(路由規則由前端制定,整個項目開發的權重前移)
3.html頁面負責調用服務端介面產生數據(通過ajax等等)
4.填充html,展現動態效果。
(有興趣的童鞋可以訪問一下阿里巴巴等大型網站,然後按一下F12,監控一下你刷新一次頁面,他的http是怎麼玩的,大多數都是單獨請求後台數據,使用json傳輸數據,而不是一個大而全的http請求把整個頁麵包括動+靜全部返回過來)
這樣做的好處是:
1.可以實現真正的前後端解耦,前端伺服器使用nginx。
前端伺服器放的是css,js,圖片等等一系列靜態資源(甚至你還可以css,js,圖片等資源放到特定的文件伺服器,例如阿里雲的oss,並使用cdn加速),前端伺服器負責控制頁面引用,跳轉,調用後端的介面,後端伺服器使用tomcat。
(這里需要使用一些前端工程化的框架比如nodejs,react,router,react,rex,webpack)
2.發現bug,可以快速定位是誰的問題,不會出現互相踢皮球的現象。
頁面邏輯,跳轉錯誤,瀏覽器兼容性問題,腳本錯誤,頁面樣式等問題,全部由前端工程師來負責。
介面數據出錯,數據沒有提交成功,應答超時等問題,全部由後端工程師來解決。
雙方互不幹擾,前端與後端是相親相愛的一家人。
3.在大並發情況下,我可以同時水平擴展前後端伺服器,比如淘寶的一個首頁就需要2000台前端伺服器做集群來抗住日均多少億+的日均pv。
(去參加阿里的技術峰會,聽他們說他們的web容器都是自己寫的,就算他單實例抗10萬http並發,2000台是2億http並發,並且他們還可以根據預知洪峰來無限拓展,很恐怖,就一個首頁。。。)
4.減少後端伺服器的並發壓力,除了介面以外的其他所有http請求全部轉移到前端nginx上。
5.即使後端服務暫時超時或者宕機了,前端頁面也會正常訪問,只不過數據刷不出來而已。
6.也許你也需要有微信相關的輕應用,那樣你的介面完全可以共用,如果也有app相關的服務,那麼只要通過一些代碼重構,也可以大量復用介面,提升效率。
7.頁面顯示的東西再多也不怕,因為是非同步載入。

閱讀全文

與前端如何減少伺服器的壓力相關的資料

熱點內容
貿易pdf 瀏覽:495
dbug命令 瀏覽:351
開逛app如何加好友 瀏覽:958
ftpdos命令下載文件 瀏覽:75
華為如何打開語音伺服器 瀏覽:242
python中的idle 瀏覽:1000
五軸聯動數控編程 瀏覽:965
換一台電腦如何遠程雲伺服器 瀏覽:132
阿里雲怎麼買雲伺服器 瀏覽:664
java提取文字 瀏覽:97
阿里雲伺服器同人賬號問題 瀏覽:420
5分鍾解壓軸題 瀏覽:341
安卓桌面二級文件夾 瀏覽:188
eps文檔加密 瀏覽:261
手機怎麼做pdf 瀏覽:162
ug曲面pdf 瀏覽:279
液化氣還是壓縮氣 瀏覽:950
阿里雲公共ntp伺服器地址 瀏覽:991
金字塔學習機編程 瀏覽:684
多邊形掃描線演算法Python 瀏覽:718