日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

从性能方面谈系统设计

發(fā)布時(shí)間:2025/3/19 windows 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从性能方面谈系统设计 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

設(shè)計(jì)一系統(tǒng)涉及方方面面。下面我們單從性能方面描述設(shè)計(jì)的考慮。

解決軟件架構(gòu)設(shè)計(jì)問題,我們遵循分而治之的方略。所以我們看到有橫向的劃分跟縱向的分層。這樣我們才可能把問題各個(gè)擊破。


在業(yè)務(wù)層面上,我們可以考慮把系統(tǒng)拆分成子系統(tǒng)。子系統(tǒng)相對(duì)獨(dú)立并協(xié)調(diào)合作。自然我們可以考慮SOA。我這里并不強(qiáng)調(diào)SOA的概念,核心強(qiáng)調(diào)的是業(yè)務(wù)的分拆。如果子系統(tǒng)可以單獨(dú)擴(kuò)展,這樣在遇到瓶頸是就可以對(duì)相應(yīng)的子系統(tǒng)進(jìn)行擴(kuò)展。 這樣子系統(tǒng)從數(shù)據(jù)庫,持久層,業(yè)務(wù)層,服務(wù)提供層都相對(duì)獨(dú)立開來。


再進(jìn)一步我們考慮服務(wù)的部署。同樣我們要考慮各部件的邏輯獨(dú)立性。我們要清楚劃分邊界,Web服務(wù)器,應(yīng)用服務(wù)器,數(shù)據(jù)庫服務(wù)器,文件服務(wù)器,消息中間件.....我們要盡量保證各組件的界地。這樣也是為了我們擴(kuò)展的靈活。可以在相應(yīng)服務(wù)出現(xiàn)瓶頸時(shí)單獨(dú)擴(kuò)展。


具體到各層應(yīng)用的設(shè)計(jì)上,我們要考慮充分利用資源,同時(shí)考慮橫向跟縱向的擴(kuò)展。

在資源利用上,我們常面臨I/O的瓶頸,從南橋(即系統(tǒng)I/O芯片(SI/O):主要管理中低速外部設(shè)備;集成了中斷控制器、DMA控制器。)到網(wǎng)絡(luò)I/O。常常會(huì)成為我們性能的瓶頸。在系統(tǒng)設(shè)計(jì)時(shí),我們不能寄希望于相應(yīng)資源的升級(jí),提升。從軟件本身的角度出發(fā),我們要考慮的是軟件的機(jī)制。我們可以合理的設(shè)計(jì)緩存來減少I/O。緩存的可以在系統(tǒng)的各個(gè)層次。從數(shù)據(jù)庫到客戶端瀏覽器為了合理減少I/O,都有緩存的身影。引入一個(gè)方案能解決相應(yīng)的問題,同時(shí)也要付出代價(jià)。緩存的引入勢(shì)必帶來數(shù)據(jù)一致性的問題。在設(shè)計(jì)時(shí)我們一定得歸類各種數(shù)據(jù),不變的,常變的,偶變的。還有我們還要考慮應(yīng)用對(duì)數(shù)據(jù)一致性的要求。從多個(gè)角度我們綜合分析是否 并如何引入緩存。

在說緩存的同時(shí),我們要區(qū)分內(nèi)存存儲(chǔ)。緩存跟內(nèi)存存儲(chǔ)是有重要區(qū)別的。緩存并不保證被保存的數(shù)據(jù)一直存儲(chǔ)。記得在Infoq上有一個(gè)文章專門指出我們不能用memcache來存儲(chǔ)session。用他來存儲(chǔ)會(huì)導(dǎo)致某些用戶意外中斷連接,這就是由于memcache的本質(zhì)所決定的,它作為緩存并不保證對(duì)session的存儲(chǔ)。而session實(shí)際上要的是存儲(chǔ)。所以此文章建議用內(nèi)存數(shù)據(jù)庫來保存session.


說了I/O,當(dāng)然我們還要考慮其他資源的有效利用。CPU, memory等等。多進(jìn)程,線程,并行程序設(shè)計(jì)必然是我們要考慮的。多進(jìn)程,線程能充分利用我們的CPU的計(jì)算能力。當(dāng)然同時(shí)也會(huì)帶來上下文切換的開銷。所以要綜合應(yīng)用I/O的情況,來規(guī)劃。如果是計(jì)算密集型的應(yīng)用,太多的進(jìn)程,線程調(diào)度反而適得其反。

在I/O密集型的時(shí)候,當(dāng)然可以考慮引入異步的計(jì)算。其實(shí)當(dāng)下很多的reactive的平臺(tái)提供了很多異步的支持供我們?nèi)∩帷?/p>


總之系統(tǒng)的無銀彈,我們得從各個(gè)角度綜合分析。


轉(zhuǎn)載于:https://blog.51cto.com/simonwzing/1632203

總結(jié)

以上是生活随笔為你收集整理的从性能方面谈系统设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。