一個網站除了滿足業(yè)務功能,還要滿足性能需求,如果性能不好倔撞,隨著用戶的增長將出現性能瓶頸,對用戶最直接的感官影響就是響應變慢樟澜,一般2秒以內算是比較好的體驗误窖,超過5秒體驗就比較差了叮盘,極端情況下用戶并發(fā)高的情況下,網站直接拒絕服務霹俺,嚴重影響業(yè)務運營柔吼。
網站性能指標
對于網站的性能指標,重要的是 響應時間丙唧、吞吐量愈魏、并發(fā)數。
- 響應時間是一次請求從發(fā)送請求到收到響應的總時間想际,直觀的反映系統的快慢培漏。
- 吞吐量是單位時間處理的請求數,通常用TPS來表示胡本,是系統容量的直觀體現牌柄。
- 并發(fā)數是系統同時能處理的請求數,對于同時在線用戶數高的侧甫,短時間有大量用戶使用的珊佣,譬如搶購類網站要求高,如果要讓用戶在短時間內都能訪問到系統披粟,需要有極高的并發(fā)能力支持咒锻。
可以用高速公路收費站來類比,響應時間就是收費窗口處理收費事件的時間守屉,吞吐量是單位時間收費窗口總共收了多少輛車惑艇,并發(fā)量就是總共有多少個收費通道。
這幾個指標之間的關系是什么呢拇泛?
假如該收費站收一筆費用耗時30秒(RT=30s)滨巴,共有5個窗口(p=5),那么正常情況下1分鐘該收費站能處理10個收費請求【v= (P/RT)*60s=10】碰镜,即吞吐量是10次/分鐘兢卵。
如果前端每隔30秒有5輛車(即每分鐘有10輛車)進入高速公路,該收費站將滿負荷運行绪颖,收費人員馬不停蹄秽荤,車輛沒有積壓。如果每分鐘有20輛車進入高速公路柠横,那么第一分鐘進入收費站的20輛車將有10輛車積壓等待30秒窃款,第二分鐘進入的20輛車將最多等待90秒,以此類推牍氛,積壓將越來越多晨继,高速公路上將慢慢排隊成長龍,車輛通過收費站的時長將越來越長搬俊,對應的是網站收到響應時間越來越長紊扬,直到超時不可用蜒茄。
通過apache bench 工具ab測試網站性能指標可以看出,并發(fā)越大響應時間越長餐屎。從曲線看并發(fā)到70個響應時間就開始惡化檀葛,最大支持的并發(fā)就是70條每秒,正常響應時間是5.87毫秒腹缩,吞吐量TPS是170屿聋。此時的CPU利用率,鏈接數相對平穩(wěn)藏鹊,未達到資源的瓶頸润讥。