創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗,為客戶提供超值的營銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個人等客戶提供了成都網(wǎng)站設(shè)計、網(wǎng)站制作服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。Django適合做大用戶量的系統(tǒng)框架嗎?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
分幾點來答:
1. 首先,這其實是個技術(shù)選型題。
做技術(shù)選型的時候不能單純的考慮性能,應(yīng)該優(yōu)先考慮業(yè)務(wù)類型,以及團(tuán)隊水平。另外的話,框架只是其中一環(huán),還有配套呢。
如果是數(shù)據(jù)驅(qū)動型,尤其是要用嗎?到關(guān)系型數(shù)據(jù)庫,那么選擇Django足以,ORM會比較省事,但是性能損耗是個很明顯的問題。不過還是看團(tuán)隊,如果大家玩flask或者bottle都賊溜,那么還要什么Django,自己造就行了。(題外話,不過你得提防比較水的人破壞整體結(jié)構(gòu))
如果下游是由很多微服務(wù)構(gòu)成的,Tornado處理起來會有一定優(yōu)勢,用它的異步模型。
2. Django能抗多少量?
上面選型如果定下來Django了,那么剩下的就是“Where there is a will, there is a way”的問題。這個問題跟“Where there is a way, there is a will”的差別在于,并不是框架能支撐你到多大的并發(fā)量,而是你想要抗住很大的并發(fā)量,怎么優(yōu)化現(xiàn)有框架。
當(dāng)你的項目大到一定程度,瓶頸基本不在框架上。
我們用Django開發(fā)對外的產(chǎn)品不多,量級10w 100w的都有,但是我們上線前的準(zhǔn)備都是朝著要抗足夠高的流量目標(biāo)的(誰沒有一顆抗萬億流量的心呢),并且要能夠通過增加機(jī)器提高承載能力。當(dāng)然有些業(yè)務(wù)類型沒法通過簡單的增加機(jī)器來進(jìn)行擴(kuò)容,那只能通過其他途徑優(yōu)化單機(jī)的TPS。所以最終壓測的結(jié)果都要遠(yuǎn)高于真實流量。百萬量級的產(chǎn)品,扛起來并不費力。不過還是強(qiáng)調(diào)一下,看業(yè)務(wù)類型!
3. 用戶體驗問題
當(dāng)量級變大之后,影響用戶體驗嗎?
用戶體驗分很多方面,包括交互,設(shè)計,前端,后端。這里討論的是后端,那么就說后端。后端對用戶體驗的影響只有一個——那就是響應(yīng)時間。當(dāng)你的網(wǎng)站或者接口有一個用戶訪問時,能在短時間內(nèi)返回response,那么,當(dāng)用戶量達(dá)到10w時,是否能在同樣的時間內(nèi)返回response呢?這是個問題。
對于后端來說,把響應(yīng)時間控制在合理的范圍之內(nèi)是很重要的。20ms和30ms或許差別不大,但是50ms跟100ms會有明顯差別。
怎么衡量合理的返回時間呢?
這塊還是得說點細(xì)節(jié),比方說Django的系統(tǒng),一個用戶請求進(jìn)來了,需要涉及多少次Redis查詢,平均每次響應(yīng)時間是多少;涉及到多少次內(nèi)網(wǎng)或者外網(wǎng)的HTTP請求,平均響應(yīng)時間是多少;涉及到多少次MySQL查詢,平均響應(yīng)時間是多少。
所以大家面試時都喜歡問一個問題:用戶輸入網(wǎng)址之后,到頁面展示出來的詳細(xì)過程是什么?
當(dāng)你知道了所有的細(xì)節(jié)之后,你就能知道,如果系統(tǒng)只涉及到Redis查詢,那應(yīng)該多少ms內(nèi)返回是合理的,如果你發(fā)現(xiàn)nginx日志里面的后端響應(yīng)時間高于你的預(yù)期,那你就得排查下了。其他的也是類似。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。