Apache的压力测试以及web性能优化的常用知识总结
?
這篇文章主要介紹了Apache的壓力測試以及web性能優化的常用知識總結,筆記由《構建高性能web站點》這本高人氣書籍整理而來,需要的朋友可以參考下?
什么是帶寬??
誤解:“數據在線路中的移動速度”、“數據的傳輸速度”?
我們所說的帶寬是指數據的發送速度,比如百兆網卡,指網卡的最大fa送速度是100Mbps,也就是說網卡在一秒鐘最多可以發送100Mb的數據;相關的因素:?
數據發送裝置將二進制信號傳送到線路的能力,也稱信號傳輸頻率,以及另一端數據接收裝置對二進制信號接收的能力,也包括線路對傳輸頻率的支持程度;?
數據傳輸介質的并行度,等價于計算機系統總線寬度的概念;?
習慣與約定?
b:比特單位?bit;?
B:字節單位?Byte;?
1KB = 1024B;?
1kb = 1000b;?
M與K?的換算同上;?
什么是吞吐率??
吞吐率(Throughput),是指web服務器單位時間內處理的請求數,單位:reqs/s;?
一般更關心的是服務器并發處理能力的上限?,即最大吞吐率;?
關于壓力測試?
基于吞吐率壓力測試的幾個前提:?
并發用戶數;(某一時刻同時向服務器發送請求的用戶數量)?
總請求數;?
請求資源描述;?
幾個重要指標:?
請求等待時間?
用戶平均請求等待時間(主要衡量服務器在一定并發用戶數的情況下,對單個用戶的服務質量)?
服務器平均請求方護理時間(衡量服務器整體服務質量)?
壓力測試工具:Apache附帶的ab、LoadRunner、Jmeter?
服務器系統負載?
$ cat /proc/loadavg?
0.58 1.19 0.64 1/92 8306?
這里0.58 1.19 0.64?這3個數字表示:系統最近1分鐘、5分鐘、15分鐘分別計算出來的系統負載;?
1表示當前運行隊列中的進程個數;92表示此時的進程總數;8306表示到此時為止最后創建的一個進程ID;?
Apache ab的使用介紹?
在《構建高性能web站點》中多處講到了用apache?自帶的壓力測試工具ab進行Server的性能測試,搜索了一下相關知識,整理如下:?
ab的全稱是ApacheBench,是?Apache?附帶的一個小工具,http://www.bbqmw.net/專門用于?HTTP Server?的benchmark testing,可以同時模擬多個并發請求。下面以一個實際例子來介紹ab的使用:?
[xiekeli@localhost ~]$ ab -n 1000 -c 50 http://www.abc.com/a.php //產生1000次http請求,每次的并發用戶數:50?
This is ApacheBench, Version 2.0.40-dev <;$Revision: 1.146 $> apache-2.0Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Copyright 2006 The Apache Software Foundation, ?Benchmarking www.abc.com (be patient)Completed 100 requestsCompleted 200 requestsCompleted 300 requestsCompleted 400 requestsCompleted 500 requestsCompleted 600 requestsCompleted 700 requestsCompleted 800 requestsCompleted 900 requestsFinished 1000 requests Server Software: Apache //被測平臺Apache Server Hostname: www.abc.com //服務器主機名Server Port: 80 Document Path: /a.phpDocument Length: 231 bytes //文檔大小?Concurrency Level: 50 //并發數Time taken for tests: 12.818547 secondsComplete requests: 1000 //完成請求數Failed requests: 0 //失敗的請求數Write errors: 0Non-2xx responses: 1001Total transferred: 438438 bytes //整個場景中的網絡傳輸量HTML transferred: 231231 bytes //整個場景中的HTML內容傳輸量Requests per second: 78.01 [#/sec] (mean) //吞吐率,即每秒處理的請求數(后面括號中的?mean?表示這是一個平均值)Time per request: 640.927 [ms] (mean) //每次請求的響應時間(后面括號中的?mean?表示這是一個平均值Time per request: 12.819 [ms] (mean, across all concurrent requests) //每次請求的響應時間(后面括號中已經說明,是按所有并發數計算的平均值)Transfer rate: 33.39 [Kbytes/sec] received //平均每秒網絡上的流量,可以幫助排除是否存在網絡流量過大導致響應時間延長的問題?Connection Times (ms) //網絡上消耗的時間的分解,各項數據的具體算法還不是很清楚?min mean[+/-sd] median maxConnect: 186 307 598.1 212 9188Processing: 188 271 289.6 214 1923Waiting: 188 245 219.9 213 1416Total: 376 579 660.2 427 9380 //整個場景中所有請求的響應情況。在場景中每個請求都有一個響應時間,其中50%的用戶響應時間小于1093?毫秒,60% 的用戶響應時間小于1247?毫秒,最大的響應時間小于7785?毫秒,由于對于并發請求,cpu實際上并不是同時處理的,而是按照每個請求獲得的時間片逐個輪轉處理的,所以基本上第一個Time per request時間約等于第二個Time per request時間乘以并發請求數Percentage of the requests served within a certain time (ms) 50% 42766% 43075% 43180% 43390% 45195% 163098% 338299% 3429100% 9380 (longest request)?
?在SD-WAN網絡實例配置中,企業可自定義各個節點之間的互通關系,靈活組網,能夠集中控制和管理設備,在網絡管理控制器層面可以開放接口給用戶進行可視化的網絡管理。
總結
以上是生活随笔為你收集整理的Apache的压力测试以及web性能优化的常用知识总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lol怎么关小鼠标 “如何缩小LOL鼠标
- 下一篇: 联想笔记本从u盘启动怎么设置密码 设置联