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

    時間:2024-10-26 04:59:29 J2EE培訓(xùn) 我要投稿
    • 相關(guān)推薦

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

      J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共同的標(biāo)準(zhǔn)及規(guī)格。下面是小編整理的關(guān)于軟件系統(tǒng)開發(fā)常見的十大瓶頸,歡迎大家參考!

      數(shù)據(jù)庫

      工作任務(wù)內(nèi)存超過可用的RAM內(nèi)存

      長/短查詢

      寫入沖突

      大連接(join)占用內(nèi)存

      虛擬化

      共享一個HDD、磁盤尋死(disk seek death)

      在云端網(wǎng)絡(luò)I/O波動

      編程

      線程:死鎖、調(diào)試、非線性擴(kuò)展等

      事件驅(qū)動編程:callback()過于復(fù)雜、如何在函數(shù)調(diào)用中存儲有狀態(tài)等

      缺乏調(diào)優(yōu)、跟蹤、日志等

      單模塊不可擴(kuò)展、單點(diǎn)故障(SPOF:Single Point Of Failure)、非橫向擴(kuò)展等

      有狀態(tài)應(yīng)用程序

      設(shè)計問題:開發(fā)的應(yīng)用程序只在自己的機(jī)器行運(yùn)行正常,或者只是在幾個人測試的時候正常(沒有經(jīng)歷壓力測試)。

      算法過于復(fù)雜

      相關(guān)服務(wù),例如DNS查找以及其他可能屏蔽的服務(wù)

      堆棧空間

      磁盤

      訪問本地磁盤

      隨機(jī)訪問磁盤I/O

      磁盤碎片

      當(dāng)SSD寫入的數(shù)據(jù)大于SSD容量時,性能會下降

      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緩存:這是個令人頭疼的大瓶頸。把關(guān)鍵并且經(jīng)常訪問的數(shù)據(jù)存儲在L1/L2中。這涉及到很多:snappy網(wǎng)絡(luò)I/O,列數(shù)據(jù)庫直接在壓縮數(shù)據(jù)上運(yùn)行算法等。利用一些技術(shù)不銷毀你的TLB。最重要的思想是緊緊的抓住計算機(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ù)是一個細(xì)粒度進(jìn)程,為了在多個實例與不同的值數(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)程

      測試時間

      開發(fā)時間

      團(tuán)隊規(guī)模

      預(yù)算

      代碼債務(wù)

      內(nèi)存

      內(nèi)存不足—>殺死進(jìn)程,切換到swap,掛起

      內(nèi)存不足導(dǎo)致磁盤交換(與swap相關(guān))

      記憶庫開銷過大(Memory library overhead)

      內(nèi)存分片(在Java中需要會因為內(nèi)存回收而停頓;在C中,malloc總是開始分配內(nèi)存)

    【軟件系統(tǒng)開發(fā)常見的十大瓶頸】相關(guān)文章:

    十大常見化妝誤區(qū)07-13

    遠(yuǎn)離十大常見化妝誤區(qū)07-14

    網(wǎng)絡(luò)營銷常見的十大誤區(qū)01-21

    十大最常見高爾夫規(guī)則誤區(qū)07-28

    中考英語十大常見寫作話題06-14

    中考英語作文十大常見錯誤分析01-14

    英文寫作中的最常見十大句式09-26

    注釋嵌入式軟件的十大技巧10-18

    2017職稱英語報名常見十大問題08-30

    馬來西亞留學(xué)十大常見問題08-03

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      日韩精品一区二区三区中文在线 | 亚洲中文成人字幕 | 视频二区一区国产精品天天 | 亚洲福利在线看国产精品 | 午夜三a福利扫描 | 视频一区手机视频 |