安全性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