麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 網(wǎng)站 > Apache > 正文

Apache的壓力測(cè)試以及web性能優(yōu)化的常用知識(shí)總結(jié)

2024-08-27 18:30:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了Apache的壓力測(cè)試以及web性能優(yōu)化的常用知識(shí)總結(jié),筆記由《構(gòu)建高性能web站點(diǎn)》這本高人氣書籍整理而來(lái),需要的朋友可以參考下
 

什么是帶寬?

誤解:“數(shù)據(jù)在線路中的移動(dòng)速度”、“數(shù)據(jù)的傳輸速度”

我們所說的帶寬是指數(shù)據(jù)的發(fā)送速度,比如百兆網(wǎng)卡,指網(wǎng)卡的最大發(fā)送速度是100Mbps,也就是說網(wǎng)卡在一秒鐘最多可以發(fā)送100Mb的數(shù)據(jù);相關(guān)的因素:

數(shù)據(jù)發(fā)送裝置將二進(jìn)制信號(hào)傳送到線路的能力,也稱信號(hào)傳輸頻率,以及另一端數(shù)據(jù)接收裝置對(duì)二進(jìn)制信號(hào)接收的能力,也包括線路對(duì)傳輸頻率的支持程度;
數(shù)據(jù)傳輸介質(zhì)的并行度,等價(jià)于計(jì)算機(jī)系統(tǒng)總線寬度的概念;
 

習(xí)慣與約定

b:比特單位 bit;

B:字節(jié)單位 Byte;

1KB = 1024B;

1kb = 1000b;

M與K 的換算同上;

 

什么是吞吐率?

吞吐率(Throughput),是指web服務(wù)器單位時(shí)間內(nèi)處理的請(qǐng)求數(shù),單位:reqs/s;

一般更關(guān)心的是服務(wù)器并發(fā)處理能力的上限 ,即最大吞吐率;

 

關(guān)于壓力測(cè)試

基于吞吐率壓力測(cè)試的幾個(gè)前提:

并發(fā)用戶數(shù);(某一時(shí)刻同時(shí)向服務(wù)器發(fā)送請(qǐng)求的用戶數(shù)量)
總請(qǐng)求數(shù);
請(qǐng)求資源描述;
 

幾個(gè)重要指標(biāo):

請(qǐng)求等待時(shí)間

用戶平均請(qǐng)求等待時(shí)間(主要衡量服務(wù)器在一定并發(fā)用戶數(shù)的情況下,對(duì)單個(gè)用戶的服務(wù)質(zhì)量)
服務(wù)器平均請(qǐng)求方護(hù)理時(shí)間(衡量服務(wù)器整體服務(wù)質(zhì)量)
壓力測(cè)試工具:Apache附帶的ab、LoadRunner、Jmeter

 

服務(wù)器系統(tǒng)負(fù)載

$ cat /proc/loadavg 
0.58 1.19 0.64 1/92 8306

這里0.58 1.19 0.64 這3個(gè)數(shù)字表示:系統(tǒng)最近1分鐘、5分鐘、15分鐘分別計(jì)算出來(lái)的系統(tǒng)負(fù)載;

1表示當(dāng)前運(yùn)行隊(duì)列中的進(jìn)程個(gè)數(shù);92表示此時(shí)的進(jìn)程總數(shù);8306表示到此時(shí)為止最后創(chuàng)建的一個(gè)進(jìn)程ID;

 

Apache  ab的使用介紹

在《構(gòu)建高性能web站點(diǎn)》中多處講到了用apache 自帶的壓力測(cè)試工具ab進(jìn)行Server的性能測(cè)試,搜索了一下相關(guān)知識(shí),整理如下:

ab的全稱是ApacheBench,是 Apache 附帶的一個(gè)小工具,專門用于 HTTP Server 的benchmark testing,可以同時(shí)模擬多個(gè)并發(fā)請(qǐng)求。下面以一個(gè)實(shí)際例子來(lái)介紹ab的使用:

[xiekeli@localhost ~]$ ab -n 1000 -c 50 http://www.abc.com/a.php         //產(chǎn)生1000次http請(qǐng)求,每次的并發(fā)用戶數(shù):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, http://www.apache.org/ 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                     //被測(cè)平臺(tái)Apache Server Hostname: www.abc.com                   //服務(wù)器主機(jī)名Server Port: 80 Document Path: /a.phpDocument Length: 231 bytes                   //文檔大小 Concurrency Level: 50                       //并發(fā)數(shù)Time taken for tests: 12.818547 secondsComplete requests: 1000                      //完成請(qǐng)求數(shù)Failed requests: 0                       //失敗的請(qǐng)求數(shù)Write errors: 0Non-2xx responses: 1001Total transferred: 438438 bytes                  //整個(gè)場(chǎng)景中的網(wǎng)絡(luò)傳輸量HTML transferred: 231231 bytes                  //整個(gè)場(chǎng)景中的HTML內(nèi)容傳輸量Requests per second: 78.01 [#/sec] (mean)       //吞吐率,即每秒處理的請(qǐng)求數(shù)(后面括號(hào)中的 mean 表示這是一個(gè)平均值)Time per request: 640.927 [ms] (mean)          //每次請(qǐng)求的響應(yīng)時(shí)間(后面括號(hào)中的 mean 表示這是一個(gè)平均值Time per request: 12.819 [ms] (mean, across all concurrent requests)    //每次請(qǐng)求的響應(yīng)時(shí)間(后面括號(hào)中已經(jīng)說明,是按所有并發(fā)數(shù)計(jì)算的平均值)Transfer rate: 33.39 [Kbytes/sec] received  //平均每秒網(wǎng)絡(luò)上的流量,可以幫助排除是否存在網(wǎng)絡(luò)流量過大導(dǎo)致響應(yīng)時(shí)間延長(zhǎng)的問題 Connection Times (ms)           //網(wǎng)絡(luò)上消耗的時(shí)間的分解,各項(xiàng)數(shù)據(jù)的具體算法還不是很清楚 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 //整個(gè)場(chǎng)景中所有請(qǐng)求的響應(yīng)情況。在場(chǎng)景中每個(gè)請(qǐng)求都有一個(gè)響應(yīng)時(shí)間,其中50%的用戶響應(yīng)時(shí)間小于1093 毫秒,60% 的用戶響應(yīng)時(shí)間小于1247 毫秒,最大的響應(yīng)時(shí)間小于7785 毫秒,由于對(duì)于并發(fā)請(qǐng)求,cpu實(shí)際上并不是同時(shí)處理的,而是按照每個(gè)請(qǐng)求獲得的時(shí)間片逐個(gè)輪轉(zhuǎn)處理的,所以基本上第一個(gè)Time per request時(shí)間約等于第二個(gè)Time per request時(shí)間乘以并發(fā)請(qǐng)求數(shù)Percentage of the requests served within a certain time (ms) 50% 42766% 43075% 43180% 43390% 45195% 163098% 338299% 3429100% 9380 (longest request)

-n : 表示的測(cè)試的次數(shù),很多地方翻譯成“發(fā)送請(qǐng)求的次數(shù)”,這樣很容易產(chǎn)生歧義,應(yīng)該叫:“http請(qǐng)求數(shù)”比價(jià)合適;這里表示1000次http請(qǐng)求;
-c : 表示每次的請(qǐng)求數(shù),-c 50表示一次同時(shí)發(fā)起50個(gè)http請(qǐng)求,50次請(qǐng)求都收到響應(yīng)了之后,再次發(fā)送50個(gè)http請(qǐng)求,直到發(fā)滿1000次。

 

web優(yōu)化的其他一些相關(guān)知識(shí)點(diǎn):
緩存(cache)和緩沖(buffer)的區(qū)別:

緩存 (cache):緩存的目的是把需要花費(fèi)昂貴開銷的計(jì)算結(jié)果保存起來(lái),在以后需要的時(shí)候直接取出,避免重復(fù)的計(jì)算。

緩沖 (buffer):目的在于改善各部件之間因?yàn)樗俣炔煌l(fā)的問題。起到將快速設(shè)備與慢速設(shè)備平滑銜接的作用。

頁(yè)面緩存(Page Cache)

頁(yè)面緩存就是將動(dòng)態(tài)計(jì)算的結(jié)果進(jìn)行緩存,避免動(dòng)態(tài)內(nèi)容不必要的重復(fù)計(jì)算,主要是針對(duì)動(dòng)態(tài)生成的html頁(yè)面和動(dòng)態(tài)圖片或動(dòng)態(tài)XML數(shù)據(jù)等;

緩存持久化和搜索

    如果緩存文件非常多,cache目錄下會(huì)擁擠大量的文件,如果緩存的文件的讀寫頻度比較高,對(duì)CPU的影響是非常大的;

解決的方案:

      1、使用支持目錄hash加速目錄遍歷的文件系統(tǒng)來(lái)緩解這種情況,如:XFS和reiserfs;

      2、緩存目錄分級(jí)

過期檢查

  •   緩存過期時(shí)間
  •     緩存有效期長(zhǎng)度

把緩存放到內(nèi)存中

如果將緩存數(shù)據(jù)放到磁盤文件中,每次緩存加載和過期檢查都在磁盤I/O的開銷,如果磁盤同時(shí)還運(yùn)行著如數(shù)據(jù)庫(kù)這樣的I/O密集型應(yīng)用,那么緩存文件的I/O操作便會(huì)存在一定的延遲。

作者在這里提到了兩個(gè)PHP的緩存框架:APC和XCache。

 

緩存服務(wù)器

將HTML緩存在一臺(tái)獨(dú)立的緩存服務(wù)器中,利用memcached,可以很容易的通過TCP將緩存存儲(chǔ)在其他的服務(wù)器中,memcached同樣也是用內(nèi)存空間保存緩存數(shù)據(jù)的,可以減少不必要的I/O。memcached對(duì)每一個(gè)key都維護(hù)一個(gè)過期時(shí)間,一旦過期,會(huì)自動(dòng)刪除這個(gè)key。

 

局部無(wú)緩存

局部無(wú)緩存允許在頁(yè)面中指定一塊包含動(dòng)態(tài)數(shù)據(jù)的HTML代碼段,每次這些動(dòng)態(tài)數(shù)據(jù)都需要實(shí)時(shí)計(jì)算,然后和其余的緩存合成為最終的網(wǎng)頁(yè)。

 

靜態(tài)化內(nèi)容

    動(dòng)態(tài)內(nèi)容緩存中,每次用戶的請(qǐng)求都要送到動(dòng)態(tài)程序,動(dòng)態(tài)程序根據(jù)緩存的有效期決定是否輸出緩存。因此這種控制權(quán)的代價(jià)也是比較昂貴的。

    將動(dòng)態(tài)頁(yè)面×××.php的緩存從cache目錄拿出來(lái),放到同一個(gè)目錄中:×××.html,直接通過瀏覽器訪問對(duì)應(yīng)靜態(tài)頁(yè)面。

    當(dāng)然靜態(tài)化頁(yè)面也是需要?jiǎng)討B(tài)程序來(lái)實(shí)現(xiàn)的,一般靜態(tài)化頁(yè)面的管理都是通過CMS(內(nèi)容管理系統(tǒng))來(lái)進(jìn)行管理的。

    靜態(tài)化頁(yè)面的更新策略:

    1、在數(shù)據(jù)更新時(shí),重新生成靜態(tài)化內(nèi)容;

    2、定時(shí)重新生成靜態(tài)化內(nèi)容;

 

局部靜態(tài)化

靜態(tài)化頁(yè)面可以通過SSI(服務(wù)器端包含)技術(shù)實(shí)現(xiàn)各個(gè)局部頁(yè)面的獨(dú)立更新。

SSI技術(shù)可以在任何一個(gè)主流web服務(wù)器中找到相應(yīng)的模塊,如Apache的mod_include和Lighttpd的mod_ssi。

名詞解釋:PV

PV (page view) 即頁(yè)面瀏覽量,或點(diǎn)擊量,通常是衡量一個(gè) 網(wǎng)絡(luò)新聞 頻道或網(wǎng)站甚至一條網(wǎng)絡(luò)新聞的主要指標(biāo)。

定義:一個(gè)訪問者在24小時(shí)(0點(diǎn)到24點(diǎn))內(nèi)到底看了你網(wǎng)站幾個(gè)頁(yè)面。需要注意的是:同一個(gè)人瀏覽你網(wǎng)站同一個(gè)頁(yè)面,不重復(fù)計(jì)算pv量。pv就是一個(gè)訪問者打開了你網(wǎng)站的幾個(gè)頁(yè)面。

pv的計(jì)算:當(dāng)一個(gè)訪問者訪問的時(shí)候,記錄他所訪問的頁(yè)面和對(duì)應(yīng)的IP,然后確定這個(gè)IP今天訪問了這個(gè)頁(yè)面沒有。如果你的網(wǎng)站到了23點(diǎn),單純IP有60萬(wàn)條的話,每個(gè)訪問者平均訪問了3個(gè)頁(yè)面,那么pv表的記錄就要有180萬(wàn)條。



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 一级黄色淫片 | 成熟女人特级毛片www免费 | 成人羞羞网站入口 | 黄色一级片免费观看 | 成人午夜免费看 | 黄色大片免费网站 | 欧美精品激情视频 | 精精国产xxxx视频在线播放7 | 久久久www成人免费毛片 | 黄污污网站 | 日本精品免费观看 | 毛片大全在线观看 | 精品一区二区三区在线播放 | 欧美成人精品h版在线观看 久久久久久三区 | 亚洲伊人色欲综合网 | 亚洲国产美女视频 | 一级黄色在线免费观看 | 91网在线播放 | 成人午夜小视频 | 久久久电影电视剧免费看 | 色毛片| 久草在线最新免费 | 最污网站 | 国产免费美女 | 视频一区二区三区在线观看 | 国产资源在线观看视频 | 91在线视频在线观看 | 麻豆蜜桃在线观看 | 成人黄色小视频在线观看 | 天天艹综合 | 美国人成人在线视频 | 国产精品国产三级国产在线观看 | asiass极品裸体女pics | 操碰在线视频 | 日本黄色大片免费 | 久久av免费| 欧美wwwwww | 毛片电影在线看 | 黄色大片在线观看 | 日本免费一区二区三区四区 | 欧美精品久久久久久久久老牛影院 |