1樓
飛絮 發(fā)表于:2013/3/21 0:21:25
何謂大規(guī)模并發(fā),不同層面有不同的理解
企業(yè)應(yīng)用(Intranet):千級強(qiáng)并發(fā),萬級弱并發(fā)(在線用戶),十萬級用戶
- 大型企業(yè)ERP、供應(yīng)鏈,大型企業(yè)HR、辦公OA
互聯(lián)網(wǎng)應(yīng)用(Internet):百萬級強(qiáng)并發(fā),千萬級弱并發(fā)(在線用戶),億級用戶/
- 門戶網(wǎng)站(新浪、騰訊)
- 平臺級電子商務(wù)(阿里巴巴、淘寶網(wǎng)、拍拍網(wǎng))
- 搜索引擎(百度)
電子商務(wù)企業(yè)應(yīng)用(Intranet + Internet):十萬級強(qiáng)并發(fā),百萬級弱并發(fā)(在線用戶),千萬級用戶
- B2C電子商務(wù)(京東、凡客、一號店)
- 垂直型電子商務(wù)(金銀島、攜程)
不同系統(tǒng)間的并發(fā)特點(diǎn)
企業(yè)系統(tǒng)
大量事務(wù)性、實(shí)時(shí)性訪問
- 大量的事務(wù)、鎖檢測導(dǎo)致數(shù)據(jù)庫訪問瓶頸
- 需要數(shù)據(jù)操作的實(shí)時(shí)更新
大量有狀態(tài)性訪問
- 數(shù)據(jù)訪問具有較強(qiáng)的操作上下文
- 數(shù)據(jù)一致性、準(zhǔn)確性的高敏感
- 數(shù)據(jù)每一次事務(wù)性更新都必須得到充分展現(xiàn),并且確保數(shù)據(jù)訪問的一致性
清晰的業(yè)務(wù)邏輯進(jìn)行并發(fā)劃分
- 一般來說,企業(yè)系統(tǒng)都可以進(jìn)行明確的業(yè)務(wù)區(qū)分,從而決定系統(tǒng)特點(diǎn)
互聯(lián)網(wǎng)系統(tǒng)海量非事務(wù)性訪問
- 極其巨大的數(shù)據(jù)量及數(shù)據(jù)訪問導(dǎo)致IO操作成為瓶頸
模糊的并發(fā)區(qū)分
- 并發(fā)訪問的用戶中很難通過內(nèi)容進(jìn)行有效分發(fā)
- 并發(fā)訪問一般具有地域性
數(shù)據(jù)訪問效率的高敏感
- 用戶對系統(tǒng)的響應(yīng)時(shí)間非常敏感,需要在幾秒內(nèi)得到信息反饋
- 用戶更加在意數(shù)據(jù)的匹配性
電子商務(wù)系統(tǒng)數(shù)據(jù)實(shí)時(shí)性的高敏感
價(jià)格、信息同步的一致性等
受制于企業(yè)級系統(tǒng)的約束
海量非事務(wù)性訪問+一定規(guī)模事務(wù)性訪問
信息訪問具有互聯(lián)網(wǎng)系統(tǒng)特點(diǎn)、信息操作具有企業(yè)系統(tǒng)特點(diǎn)
- 如數(shù)據(jù)的搜索查詢、展現(xiàn)具有互聯(lián)網(wǎng)系統(tǒng)特點(diǎn)
- 如數(shù)據(jù)的操作(支付、結(jié)算)具有企業(yè)系統(tǒng)事務(wù)性特點(diǎn)
什么是性能問題- 在可識別的壓力下,系統(tǒng)無法提供服務(wù) (最差的性能問題)
- 在可識別的壓力下,系統(tǒng)無法按服務(wù)質(zhì)量標(biāo)準(zhǔn)提供服務(wù) (滿足性能標(biāo)準(zhǔn),但是健壯性不足)
- 在可識別的壓力下,系統(tǒng)無法持續(xù)按服務(wù)質(zhì)量標(biāo)準(zhǔn)提供服務(wù) (系統(tǒng)的可靠性和健壯性)
- 在超過識別的壓力下,系統(tǒng)無法盡快恢復(fù)
- 能否有故障轉(zhuǎn)移、故障恢復(fù)、冗余熱備等機(jī)制
- 在超過識別的壓力下,系統(tǒng)無法柔性伸縮 (系統(tǒng)的可伸縮性)
什么不是性能問題
- 超過可識別的壓力情況下,系統(tǒng)暫時(shí)無法有效提供服務(wù)
性能測量服務(wù)質(zhì)量
- 網(wǎng)絡(luò)響應(yīng):網(wǎng)絡(luò)響應(yīng)時(shí)間、網(wǎng)絡(luò)吞吐量、網(wǎng)絡(luò)帶寬及帶寬利用率
- 服務(wù)響應(yīng)時(shí)間:包括平均、峰值、標(biāo)準(zhǔn)區(qū)間值
- 服務(wù)處理質(zhì)量:事務(wù)成功率、單位時(shí)間響應(yīng)事務(wù)次數(shù)
服務(wù)端設(shè)備狀態(tài)
- CPU:CPU使用率
- 內(nèi)存:使用內(nèi)存大小
- VM:GC次數(shù)(Full GC次數(shù))、堆內(nèi)存、線程數(shù)、鎖和阻塞情況
- 磁盤IO:磁盤訪問效率、磁盤空間、磁盤IO吞吐量
系統(tǒng)可靠性、健壯性
- 單節(jié)點(diǎn)處理的訪問量
- 故障恢復(fù)時(shí)間
- 節(jié)點(diǎn)復(fù)制和節(jié)點(diǎn)擴(kuò)展的難易
系統(tǒng)可能的性能瓶頸
網(wǎng)絡(luò)
- 網(wǎng)絡(luò)帶寬的總體限制
- 網(wǎng)絡(luò)連接數(shù)的限制(如TCP/IP, 數(shù)據(jù)庫連接等)
服務(wù)器
- 每個(gè)響應(yīng)占用相應(yīng)的資源,導(dǎo)致內(nèi)存成為瓶頸
- 比如JVM為每個(gè)線程分配?臻g,過多?臻g導(dǎo)致內(nèi)存消耗
- 比如每個(gè)HTTP連接在Session存儲內(nèi)容,導(dǎo)致OOME
- 同時(shí)響應(yīng)一定量的并發(fā)操作,導(dǎo)致CPU占用過高
磁盤IO
- 頻繁訪問數(shù)據(jù)庫,導(dǎo)致數(shù)據(jù)交換IO操作頻繁
- 頻繁訪問IO文件,導(dǎo)致磁盤IO成為瓶頸
企業(yè)級系統(tǒng)架構(gòu)及技術(shù)特點(diǎn)架構(gòu)設(shè)計(jì)基于SOA和MDA的架構(gòu)
- 以服務(wù)為核心單元的 設(shè)計(jì)思想,以傳統(tǒng)WS作為服務(wù)發(fā)布
- 以模塊化為系統(tǒng)構(gòu)建方式,重視應(yīng)用子系統(tǒng)和子模塊的獨(dú)立性和可重用性
中央集中式部署架構(gòu)
- 專業(yè)小型服務(wù)器
- 一般不會超過5臺部署服務(wù)器,不會多于10個(gè)應(yīng)用節(jié)點(diǎn)
- 熱備和故障恢復(fù)機(jī)制、災(zāi)備系統(tǒng)
關(guān)注流程
- 工作流技術(shù),尤其是分布式節(jié)點(diǎn)間流程整合
- 企業(yè)系統(tǒng)間的無縫轉(zhuǎn)移
門戶
- 跨系統(tǒng),跨節(jié)點(diǎn)間的單點(diǎn)登錄
技術(shù)運(yùn)用以商業(yè)性產(chǎn)品為主
- 追求單節(jié)點(diǎn)穩(wěn)定性
- 較少需要7*24小時(shí)支持
- 以商業(yè)性關(guān)系數(shù)據(jù)庫為主要存儲
比較嚴(yán)格的事務(wù)性訪問
- 完全基于數(shù)據(jù)庫事務(wù)
- 分布式事務(wù)(JTA)
較為復(fù)雜并且功能豐富的用戶界面
- 用戶具有相對統(tǒng)一的客戶端(比如使用IE瀏覽器)
- 用戶可以接受適當(dāng)?shù)捻憫?yīng)和延遲
互聯(lián)網(wǎng)系統(tǒng)架構(gòu)及技術(shù)特點(diǎn)
架構(gòu)設(shè)計(jì)
以界面展現(xiàn)和用戶體驗(yàn)為主要設(shè)計(jì)
- 大量運(yùn)用Ajax實(shí)現(xiàn)局部提交和局部刷新
以輕量級、伸縮性為架構(gòu)主要考慮
- 除某些平臺級應(yīng)用外,極少使用服務(wù)擴(kuò)展
- 使用REST風(fēng)格的WebService或者純粹的處理Json的Web響應(yīng)
- 數(shù)以百臺甚至上萬臺PC服務(wù)器,多個(gè)數(shù)據(jù)中心,站點(diǎn)鏡像
- 分布式獨(dú)立域以及部署域之間定時(shí)通信
高性能緩存機(jī)制
- 雙向頁面緩存
- 內(nèi)容靜態(tài)化技術(shù)
- 數(shù)據(jù)緩存
非事務(wù)、非關(guān)系型數(shù)據(jù)庫
技術(shù)運(yùn)用大量使用開源技術(shù)產(chǎn)品
- LAMP: Linux + Apache + MySQL + PHP
- Tomcat, Lucene, Memcache
簡單界面開發(fā)技術(shù)
- 腳本語言,如PHP, Python, Ruby等
- 對多種瀏覽器的支持
底層高性能處理優(yōu)化
- 使用C、C++實(shí)現(xiàn)底層通信和IO優(yōu)化
電子商務(wù)系統(tǒng)架構(gòu)及技術(shù)特點(diǎn)架構(gòu)設(shè)計(jì)關(guān)注數(shù)據(jù)的糅合(Mashup)
關(guān)系數(shù)據(jù)庫與高性能NoSQL數(shù)據(jù)庫結(jié)合
不固定的架構(gòu)設(shè)計(jì)思路
- 可能偏互聯(lián)網(wǎng)方向,也可能偏企業(yè)系統(tǒng)方向
- 分布式部署
事務(wù)緩存機(jī)制
- 事務(wù)遷移、事務(wù)恢復(fù)、事務(wù)批量處理
較為嚴(yán)格的安全機(jī)制
與企業(yè)系統(tǒng)的對接交互
- 與銀行、支付平臺的對接
- 與企業(yè)訂單系統(tǒng)、進(jìn)銷存系統(tǒng)、物流系統(tǒng)的對接
技術(shù)運(yùn)用有時(shí)效的緩存機(jī)制
- 確保數(shù)據(jù)實(shí)時(shí)性與性能的平衡
大量數(shù)據(jù)挖掘和分析運(yùn)用
部分運(yùn)用商業(yè)中間件技術(shù)產(chǎn)品
- 應(yīng)用服務(wù)器
- 業(yè)務(wù)流程管理
大量的開源技術(shù)運(yùn)用
- Java相關(guān)開源技術(shù)比較常見