1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      java性能優(yōu)化筆記(一)概述-創(chuàng)新互聯(lián)

      性能參考指標:

      創(chuàng)新互聯(lián)主營烏蘭網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,烏蘭h5成都小程序開發(fā)搭建,烏蘭網(wǎng)站營銷推廣歡迎烏蘭等地區(qū)企業(yè)咨詢
      • 執(zhí)行時間: 程序從開始到結(jié)束的執(zhí)行時間。

      • CPU時間: 函數(shù)或者線程占用的cpu時間。

      • 內(nèi)存分配: 程序運行期間所占內(nèi)存。

      • 磁盤吞吐量: 硬盤I/O使用情況。

      • 網(wǎng)絡(luò)吞吐量: 網(wǎng)絡(luò)使用情況。

      • 響應(yīng)時間:用戶行為做出的響應(yīng)時間,越短性能越好。

      短板原理:

      一直木桶能裝多少水取決于桶壁最短的那個木板。
      產(chǎn)生短板的資源有:

      • 磁盤I/O:很多應(yīng)用大部分瓶頸在硬盤的I/O,硬盤比內(nèi)存慢很多。如果等待磁盤讀寫完成會浪費大量CPU時間,拖累整個系統(tǒng)。

      • 網(wǎng)絡(luò)請求:由于網(wǎng)絡(luò)不穩(wěn)定或擁塞控制等都會降低網(wǎng)絡(luò)請求效率,如果等待網(wǎng)絡(luò)請求結(jié)束或者超時時間設(shè)置過長會浪費大量CPU時間,拖累整個系統(tǒng)。

      • CPU:一些運算對CPU直接或者不間斷占用很大,CPU密集型應(yīng)用會在CPU上產(chǎn)生瓶頸。

      • 程序異常:對于java應(yīng)用,異常產(chǎn)生構(gòu)造異常棧并加以處理是很耗費資源的,高頻率出現(xiàn)異常會拖垮整個系統(tǒng)。

      • 數(shù)據(jù)庫:關(guān)系型數(shù)據(jù)庫在存盤讀盤操作(即磁盤I/O操作),更新索引、鎖等待和競爭都會產(chǎn)生瓶頸。

      • 鎖競爭:高并發(fā)應(yīng)用線程之間互相鎖的競爭,線程上下文切換都是很大的開銷。

      • 內(nèi)存:內(nèi)存使用nand flash讀寫速度很快,但如果應(yīng)用程序和操作系統(tǒng)把內(nèi)存占滿,會導(dǎo)致交換分區(qū)的使用,內(nèi)存數(shù)據(jù)與硬盤交換分區(qū)交換數(shù)據(jù)會產(chǎn)生(即磁盤I/O)瓶頸。

      上述瓶頸基本解決方案:

      • 磁盤I/O:使用NIO、零拷貝、mmap映射等技術(shù),盡量異步讀寫硬盤,使用緩存和緩沖區(qū)技術(shù)。使用SSD硬盤,使用RAID技術(shù)提高寫入性能。

      • 網(wǎng)絡(luò)請求:CDN或PCDN加速、緩存、合并請求、壓縮報文,盡量異步網(wǎng)絡(luò)請求(消息隊列服務(wù)、master-worker等),使用NIO。加大帶寬、升級網(wǎng)卡。

      • CPU:持續(xù)優(yōu)化代碼,利用好多線程或多進程,設(shè)計合理架構(gòu),拆分業(yè)務(wù),減少單機復(fù)雜運算,避免復(fù)雜運算和業(yè)務(wù)請求摻雜在一起。

      • 異常:處理好邊界、緩沖區(qū)等,尤其需要注意避免出現(xiàn)NullPointException,測試時間大于開發(fā)時間減少bug出現(xiàn)幾率。

      • 數(shù)據(jù)庫:優(yōu)化sql語句,注意執(zhí)行計劃,使用緩存代替數(shù)據(jù)庫部分功能,根據(jù)情景使用合理的存儲引擎,注意鎖,使用連接池,使用PrepareStatment。

      • 鎖競爭:盡量減少鎖競爭,可以使用無鎖的copy-on-write、重入鎖等技術(shù)。

      • 內(nèi)存:優(yōu)化代碼,分析內(nèi)存占用情況,合理配置gc。增大物理內(nèi)存。

      Amdahl定律:

      加速比公式:加速比=優(yōu)化前耗時/優(yōu)化后耗時
      Speedup ≤ 1/(F+(1-F)/N)
      - Speedup:加速比
      - F:串行化比重
      - N:CPU數(shù)量
      根據(jù)Amdahl定律,優(yōu)化的效果取決于CPU數(shù)量以及系統(tǒng)中串行化程序比重,CPU數(shù)量越多,串行比越低,優(yōu)化效果越好。

      性能調(diào)優(yōu)層次

      • 設(shè)計調(diào)優(yōu):對整體架構(gòu)進行梳理,找出短板進行優(yōu)化,適當使用設(shè)計模式和以往經(jīng)驗。詳細進行系統(tǒng)設(shè)計。

      • 代碼調(diào)優(yōu):熟悉基本API、第三方類庫的原理,選擇最適當和最優(yōu)秀的算法,精簡實現(xiàn),面向接口。

      • JVM調(diào)優(yōu):熟悉jvm內(nèi)存模型,字節(jié)碼等深層技術(shù),使用常用監(jiān)控工具如:visualVM、Jconsole等。進行壓測,調(diào)節(jié)gc和堆棧大小。

      • 數(shù)據(jù)庫調(diào)優(yōu):對sql語句進行調(diào)優(yōu),分析執(zhí)行計劃,對數(shù)據(jù)庫系統(tǒng)配置調(diào)優(yōu)(緩沖區(qū)、共享區(qū)、連接池等),對數(shù)據(jù)庫設(shè)計進行調(diào)優(yōu)(冗余、索引、分庫分表、讀寫分離等)

      • 操作系統(tǒng)調(diào)優(yōu):調(diào)節(jié)句柄數(shù)、關(guān)閉沒用服務(wù)和端口、調(diào)節(jié)共享內(nèi)存、調(diào)節(jié)交換分區(qū)大小等。

      最后需要注意:不要因為優(yōu)化而優(yōu)化!

      另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


      文章名稱:java性能優(yōu)化筆記(一)概述-創(chuàng)新互聯(lián)
      網(wǎng)站路徑:http://www.ef60e0e.cn/article/copjei.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        大邑县| 西乌珠穆沁旗| 辽阳市| 卓资县| 澜沧| 长海县| 海盐县| 布尔津县| 金秀| 石泉县| 芦山县| 屏山县| 漾濞| 额尔古纳市| 简阳市| 望奎县| 康乐县| 龙州县| 和硕县| 永善县| 秦安县| 天水市| 麦盖提县| 宜君县| 玉田县| 岫岩| 蓬溪县| 芮城县| 雅安市| 黄龙县| 六盘水市| 阿合奇县| 赤城县| 介休市| 黔东| 乌海市| 乳山市| 长治市| 沂源县| 绥江县| 佛山市|