日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

關(guān)于軟件性能測試的步驟介紹 軟件性能測試怎么用( 三 )


服務器內(nèi)部處理速率的提高:
1. 計算密集型:優(yōu)化思路是提高CPU利用率,采用多線程的思路進行 。但是線程數(shù)量不能超過cpu核心數(shù) 。因為線程數(shù)量超過cpu核心數(shù)后,cpu會分片執(zhí)行超過部分的線程,會增加cpu讀取線程緩存的壓力,使計算能力下降
2. IO密集型:
– 優(yōu)化思路是提高存儲的效率,如使用固態(tài)硬盤,陣列,分布式等技術(shù) 。
– 由于IO密集型中,CPU可能會等待IO操作完成 。所以我們可以使用超過CPU核心數(shù)的線程來訪問IO,從而提高性能(但如果磁盤繁忙,線程數(shù)再多也只是在磁盤隊列中排隊,增加CPU線程數(shù)來訪問IO的方法,適用于IO讀/寫操作并不繁忙,但是需要長時間尋址的場景)
– 注意:因為磁盤內(nèi)部只有1個線程處理IO操作,所以要真正實現(xiàn)磁盤的并發(fā),需要使用多個磁盤,也就是磁盤陣列
數(shù)據(jù)庫處理速率:
? 數(shù)據(jù)庫直接和IO進行交互,所以提高IO性能,能提高數(shù)據(jù)庫性能 。
? 數(shù)據(jù)庫有自己的數(shù)據(jù)結(jié)構(gòu),所以優(yōu)化數(shù)據(jù)存儲和查詢的相關(guān)算法,也能提高數(shù)據(jù)庫性能
? 索引優(yōu)化
? 緩存優(yōu)化
? 數(shù)據(jù)庫連接優(yōu)化
? 數(shù)據(jù)庫查詢語句優(yōu)化
? 分表分庫
? 分布式處理
性能優(yōu)化方向也可以用一個思維導圖來表示:
硬件優(yōu)化:加cpu升級,cpu陣列;使用ssd固態(tài)硬盤;主板用最先進的,內(nèi)存用最高的,網(wǎng)絡用專線等等 。
操作系統(tǒng)優(yōu)化:
? windows操作系統(tǒng),去掉不需要的服務,根據(jù)實際業(yè)務場景調(diào)整線程,虛擬內(nèi)存,緩存的大小等相關(guān)配置項,需要專業(yè)人士操作
? Linux操作系統(tǒng):與windows基本相同
中間件優(yōu)化:根據(jù)不同的業(yè)務場景,選擇不同的中間件,調(diào)整配置等等,如nginx中啟用的cpu核心數(shù)量等等
架構(gòu)優(yōu)化:采用分布式存儲架構(gòu),分布式服務器架構(gòu),負載均衡等
代碼優(yōu)化:許多問題都是代碼的問題,如果代碼問題能準確定位,可以考慮優(yōu)化代碼 。
數(shù)據(jù)庫優(yōu)化:優(yōu)化索引,配置,數(shù)據(jù)庫連接,算法等等
算法優(yōu)化:這個不提了,算法屬于底層的優(yōu)化,需要非常扎實的計算機基礎知識和優(yōu)秀的邏輯思維以及靈感
其他:線程,進程,網(wǎng)絡等等
性能監(jiān)控
我們要分析數(shù)據(jù),就必須得到數(shù)據(jù),所以需要性能監(jiān)控工具來采集和展示數(shù)據(jù),才能進行分析 。
那么我們要怎么進行監(jiān)控呢?這里我們可以借助已經(jīng)實現(xiàn)的工具來進行 。
Linux:
? 可以使用sysstat工具包中的sar命令來監(jiān)控CPU,內(nèi)存,IO,網(wǎng)絡的運行情況,具體用法參考:
http://lovesoo.org/linux-sar-command-detailed.html
? 可以使用ps命令查看線程運行情況
JAVA:可以使用jstack,jprofile,jstat,jmap,jps工具來進行查看,這是java自帶的工具包,用于分析java的堆棧信息
Windows:
? 可以使用widnows自帶的資源監(jiān)視器監(jiān)控和采集數(shù)據(jù)
數(shù)據(jù)庫監(jiān)控:
? mysql數(shù)據(jù)庫有自帶的監(jiān)控工具,但是收費
? 可以使用免費的工具進行監(jiān)控,如innotop
? 可以使用綜合能力強大的工具監(jiān)控,如zabbix(也能監(jiān)控服務端)
其他:
? 前端性能監(jiān)控:Yslow,谷歌開發(fā)者模式->performance,使用windows.performance 進行定制化開發(fā)
? Android監(jiān)控:
– 網(wǎng)易開源的Emmagee,
– 騰訊開源的GT,
– 科大訊飛的iTest,
– Google的開源Battery
– 自己開發(fā)
? IOS監(jiān)控:
– 自己開發(fā),參考:
http://www.cocoachina.com/articles/19680
? 服務器中間件:nginx,apache,dubbo,redis,kafka等
看到需要學習這么多技術(shù),可能會讓大家感到許多壓力 。但是大家不用慌,這里介紹一個開源的性能測試工具,功能強大也好用,不滿意還可以二次開發(fā),它就是jmeter

推薦閱讀