性能優化(概述)

軟件系統質量特性

安全性java

同時兼顧向合法用戶提供服務,以及阻止非受權使用軟件及資源的能力。node

健壯、可靠nginx

軟件系統在必定的時間內無端障運行的能力、容錯能力、恢復能力 。git

可用性、易用性、性能shell

性能是指軟件及時提供相應服務的能力。 具體而言, 性能包括速度、 吞吐量和持續高速性三方面的要求 。瀏覽器

可擴展、可維護、可移植緩存

正在運行的軟件系統以適應新需求、變化了的需求的難易程度安全

 

性能的定義及表現

定義服務器

多快給用戶想要的結果網絡

考察兩個方面:

1.流暢度
2.更少的資源佔用

一些證據

頁面加載超過3秒,就會發生很差的事情!    

反面教材:google.com    正義的速度:baidu.com

計算結果越快出來越好!   

消耗大量資源的AI  alphaGo   VS   省電強勁的大腦 柯潔

 

本次專題的主要內容

性能是平衡之道

在有限的資源下,提供最佳的訪問能力及處理速度。木桶原理之:發現最差瓶頸,提高總體效率。呑吐量和響應速度兼顧。

調優是量體裁衣

根據不一樣的場景,針對性的提升適用性。如:前臺的響應速度,後臺的統計結果。前者用戶耐心有限,後者須要豐富數據分析。

 

目標

對性能有正確的認識  

量體裁衣,合理優化

全局思惟

總體優化,消除瓶頸

基礎的性能觀察及調整

平常監控,配置調整

高級話題延伸

併發優化

 

概念

DNS時間、創建鏈接時間

輸入網址名稱(網址)後,瀏覽器經過查詢DNS服務器所須要的時間TCP,請求方(瀏覽器等)與接受方(服務器)通過一系列協商所須要的時間。

服務器處理時間

接收方(服務器)處理請求所需時間

數據傳輸時間

從請求方(瀏覽器等)到接收方(服務器)以及從接收方(服務器)到請求方的時間

白屏及首屏時間

輸入網址後至瀏覽器出現至少1px圖片爲止用戶瀏覽器首屏內全部的元素呈現所花費時間

用戶可操做時間

網站某些功能可使用的時間

頁面總下載時間

網站中全部資源加載完成而且可用時間

 

不一樣範圍的全局性能思考

應用場景

計算密集型,集中式資源使用
IO密集型,分散型資源利用

硬件環境

單機,CPU、內存、磁盤、網絡
多機,存儲架構、網絡架構、應用架構

軟件環境

同構系統,多進程、多線程、多層邏輯
異構系統,認證鑑權、數據交互、服務層級

 

一些術語

QPS    每秒查詢次數

TPS    每秒傳輸的事物處理個數

呑吐量    單位時間內成功地傳送數據的數量

響應時間    用戶指令到用戶接收結果的時間

 

IO密集型

性能瓶頸

網絡IO,阻塞式IO是最大的問題
磁盤IO,SSD

CPU
內存
磁盤
網絡:帶寬問題,CDN問題

VPS集羣
Linode,日本機房,155ms
DigitOcean
阿里雲,國內,香港,50ms
騰訊雲,國內,香港,50ms

 

運維監控(咱們不是運維)

 

處理模式

調優順序-從底向上找出瓶頸

提升硬件能力

提升系統處理能力

安裝高性能的軟件
保障安全性
服務器配置優化

服務器環境安裝

Nginx:提升Tomcat靜態文件處理能力、負載均衡、反向代理
Centos環境,安裝服務端軟件,統一採用yum方式

Yum install nginx
Yum install java-1.8.0-openjdk.x86_64
Yum install tomat
Yum install mariadb

Yum install vnstat。。。
你不是運維,不要強求

服務器環境配置

Nginx的主配置目錄:/etc/nginx/
Nginx的server配置目錄:/etc/nginx/conf.d/

Nginx配置:
進程數    工做線程數    鏈接超時    上傳文件限制    緩存    日誌路徑

啓動服務    中止服務    配置語法測試    平滑加載

 

服務器處理方法

服務器環境優化

網絡優化    安全性配置    用戶組權限    目錄規劃

服務器常規監控

Top命令    Free命令    Df命令

工具:  Xshell    Filezilla

相關文章
相關標籤/搜索