免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
軟件開發(fā)中常見的十大系統(tǒng)瓶頸

Zen And The Art Of Scaling - A Koan And Epigram Approach中,Russell Sullivan提出了一個(gè)非常有趣的總結(jié):軟件開發(fā)常見的20個(gè)傳統(tǒng)的系統(tǒng)瓶頸,這聽起來像是說有20個(gè)故事情節(jié),并且依賴于你如何策劃這些故事,或許都是真的,但唯有實(shí)踐才知道它們帶給我們的酸甜苦辣。

有一天,Aurelien Broszniowski給我發(fā)了一份電子郵件,把這些瓶頸用列表的方式展示出來。在接下來的交談過程中,我又把該列表抄送給了Russell,Russell對此列表進(jìn)行了整理。

Russell說:“我真希望在年輕時(shí)看到這樣的一份列表”。伴隨著經(jīng)驗(yàn)的增長、項(xiàng)目的增多、解決各種不同類型的問題和不斷總結(jié)各種經(jīng)驗(yàn)教訓(xùn),你會(huì)在這份列表上添加更多的東西。所以,當(dāng)你在閱讀該份列表時(shí)就像是在回顧一個(gè)個(gè)故事片段。

數(shù)據(jù)庫

  • 工作任務(wù)內(nèi)存超過可用的RAM內(nèi)存
  • 長/短查詢
  • 寫入沖突
  • 大連接(join)占用內(nèi)存

虛擬化

  • 共享一個(gè)HDD、磁盤尋死(disk seek death)
  • 在云端網(wǎng)絡(luò)I/O波動(dòng)

編程

  • 線程:死鎖、調(diào)試、非線性擴(kuò)展等
  • 事件驅(qū)動(dòng)編程:callback()過于復(fù)雜、如何在函數(shù)調(diào)用中存儲(chǔ)有狀態(tài)等
  • 缺乏調(diào)優(yōu)、跟蹤、日志等
  • 單模塊不可擴(kuò)展、單點(diǎn)故障(SPOF:Single Point Of Failure)、非橫向擴(kuò)展等
  • 有狀態(tài)應(yīng)用程序
  • 設(shè)計(jì)問題:開發(fā)的應(yīng)用程序只在自己的機(jī)器行運(yùn)行正常,或者只是在幾個(gè)人測試的時(shí)候正常(沒有經(jīng)歷壓力測試)。
  • 算法過于復(fù)雜
  • 相關(guān)服務(wù),例如DNS查找以及其他可能屏蔽的服務(wù)
  • 堆??臻g

磁盤

  • 訪問本地磁盤
  • 隨機(jī)訪問磁盤I/O
  • 磁盤碎片
  • 當(dāng)SSD寫入的數(shù)據(jù)大于SSD容量時(shí),性能會(huì)下降

OS

  • Fsync飽和,Linux緩沖區(qū)填塞(Fsync flushing, linux buffer cache filling up)
  • TCP緩沖區(qū)太小
  • 文件描述符限制
  • 功率分配(Power budget)

緩存

  • 沒使用memcached(數(shù)據(jù)庫崩潰)
  • HTTP中:headers、etags、沒有使用gzip壓縮等。
  • 沒有充分利用瀏覽器緩存
  • 字節(jié)碼緩存(如PHP)
  • L1/L2緩存:這是個(gè)令人頭疼的大瓶頸。把關(guān)鍵并且經(jīng)常訪問的數(shù)據(jù)存儲(chǔ)在L1/L2中。這涉及到很多:snappy網(wǎng)絡(luò)I/O,列數(shù)據(jù)庫直接在壓縮數(shù)據(jù)上運(yùn)行算法等。利用一些技術(shù)不銷毀你的TLB。最重要的思想是緊緊的抓住計(jì)算機(jī)的體系結(jié)構(gòu),涉及多核CPU,L1/L2,共享的L3,NUMA RAM,從DRAM到芯片數(shù)據(jù)傳輸帶寬/延遲,DRAM緩存的DiskPages,DirtyPages,流經(jīng)CPU<->DRAM<->NIC的TCP包。

CPU

  • CPU過載
  • 內(nèi)容切換—>單核上開啟的線程過多、Linux調(diào)度器、系統(tǒng)調(diào)用太多等
  • IO等待—>所有的CPU在同速等待
  • CPU緩存:緩存數(shù)據(jù)是一個(gè)細(xì)粒度進(jìn)程,為了在多個(gè)實(shí)例與不同的值數(shù)據(jù)之間找到正確的平衡,來保持緩存數(shù)據(jù)的一致性和繁重同步。
  • 底板吞吐量(Backplane throughput)

網(wǎng)絡(luò)

  • NIC刷爆、IRQ飽和、軟中斷占用掉了100%CPU
  • DNS查詢
  • 數(shù)據(jù)包丟失
  • 網(wǎng)絡(luò)中存在預(yù)期外的路由
  • 訪問網(wǎng)絡(luò)磁盤
  • 共享SAN
  • 服務(wù)器故障—>無法從服務(wù)處得到響應(yīng)

進(jìn)程

  • 測試時(shí)間
  • 開發(fā)時(shí)間
  • 團(tuán)隊(duì)規(guī)模
  • 預(yù)算
  • 代碼債務(wù)

內(nèi)存

  • 內(nèi)存不足—>殺死進(jìn)程,切換到swap,掛起
  • 內(nèi)存不足導(dǎo)致磁盤交換(與swap相關(guān))
  • 記憶庫開銷過大(Memory library overhead)
  • 內(nèi)存分片(在Java中需要會(huì)因?yàn)閮?nèi)存回收而停頓;在C中,malloc總是開始分配內(nèi)存)
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MySQL數(shù)據(jù)庫性能優(yōu)化之硬件瓶頸分析
你開發(fā)的系統(tǒng)到底可以支撐多少并發(fā)訪問?
大型互聯(lián)網(wǎng)網(wǎng)站架構(gòu)心得之一
【電腦技巧】別浪費(fèi)了你的大內(nèi)存 1G內(nèi)存使用指南
Linux 性能測試與分析
修改注冊表發(fā)揮大容量內(nèi)存優(yōu)勢
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服