日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

ab压力测试(了解ab工具,实验对网页进行测试)

發(fā)布時(shí)間:2024/2/28 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ab压力测试(了解ab工具,实验对网页进行测试) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 使用ab工具對(duì)Apache網(wǎng)頁(yè)進(jìn)行壓力測(cè)試
    • 應(yīng)用場(chǎng)景
  • 實(shí)驗(yàn)步驟
    • 配置DNS服務(wù)
    • 配置apaches
    • 執(zhí)行以下命令開(kāi)始?jí)毫y(cè)試

使用ab工具對(duì)Apache網(wǎng)頁(yè)進(jìn)行壓力測(cè)試

應(yīng)用場(chǎng)景

做測(cè)試或者服務(wù)端開(kāi)發(fā)的同學(xué)經(jīng)常想要知道我們的后臺(tái)服務(wù)能同時(shí)承載多少用戶(hù)量,通過(guò)模擬實(shí)際應(yīng)用的軟硬件環(huán)境及用戶(hù)使用過(guò)程的系統(tǒng)負(fù)荷,長(zhǎng)時(shí)間或超大負(fù)荷地運(yùn)行測(cè)試軟件,來(lái)測(cè)試被測(cè)系統(tǒng)的性能、可靠性、穩(wěn)定性等。壓力測(cè)試需要確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來(lái)獲得系統(tǒng)能提供的最大的服務(wù)級(jí)別。通俗地講,壓力測(cè)試是為了發(fā)現(xiàn)在什么條件下您的應(yīng)用程序的性能會(huì)變得不可接受。

了解ab工具

  • 這是就需要用到一些壓測(cè)工具來(lái)對(duì)服務(wù)器進(jìn)行并發(fā)壓力測(cè)試。常見(jiàn)的壓力測(cè)試工具有Jmeter,LoadRunner,ab等等,
  • 一般來(lái)說(shuō)做壓力測(cè)試,建議使用Jmeter或者LoadRunner,但是簡(jiǎn)單場(chǎng)景的壓測(cè)使用ab就很方便快捷,還可以在linux服務(wù)器上進(jìn)行,可以與其他壓測(cè)工具做下對(duì)比。
  • ab是apachebench命令的縮寫(xiě),ab命令會(huì)創(chuàng)建多個(gè)并發(fā)訪問(wèn)線(xiàn)程,模擬多個(gè)訪問(wèn)者同時(shí)對(duì)某一HTTP URL地址進(jìn)行訪問(wèn)。
  • ab命令對(duì)發(fā)出負(fù)載的計(jì)算機(jī)要求很低,它既不會(huì)占用很高CPU,也不會(huì)占用很多內(nèi)存。但卻會(huì)給目標(biāo)服務(wù)器造成巨大的負(fù)載,其原理類(lèi)似CC攻擊。自己測(cè)試使用也需要注意,否則一次上太多的負(fù)載。可能造成目標(biāo)服務(wù)器資源耗完,嚴(yán)重時(shí)甚至導(dǎo)致死機(jī)。

實(shí)驗(yàn)步驟

關(guān)閉防火墻及核心防護(hù):

systemctl stop firewalldsetenforce 0iptables -F

配置DNS服務(wù)

[root@localhost ~]# vim /etc/named.conf options {listen-on port 53 { any; };listen-on-v6 port 53 { ::1; };directory "/var/named";dump-file "/var/named/data/cache_dump.db";secroots-file "/var/named/data/named.secroots";allow-query { any; };[root@localhost ~]# vim /etc/named.rfc1912.zones zone "zxc.com" IN {type master;file "zxc.com.zone";allow-update { none; }; [root@localhost named]# vim text.com.zone www IN A 192.168.136.88[root@localhost ~]# systemctl restart named

配置apaches

解壓軟件包

zxvf apr-1.6.2.tar.gz tar zxvf apr-util-1.6.0.tar.gz tar jxvf httpd-2.4.29.tar.bz2 mv apr-1.6.2 httpd-2.4.29/srclib/aprmv apr-util-1.6.0 httpd-2.4.29/srclib//apr-util

安裝Apache服務(wù)必須的依賴(lài)包

cd httpd-2.4.29/yum -y install \ gcc \ gcc-c++ \ make \ pcre-devel \ expat-devel \ perl \ zlib-devel

進(jìn)入httpd軟件目錄進(jìn)行編譯安裝前配置

cd /opt/httpd-2.4.29/ yum -y install zlib-devel 進(jìn)入目錄后執(zhí)行以下命令:./configure \ --prefix=/usr/local/httpd \ --enable-so \ --enable-rewrite \ --enable-charset-lite \ --enable-cgi \ --enable-deflate ## 必須要有! make && make install

建立軟鏈接

ln -s /usr/local/httpd/bin/ab /usr/sbin/

編輯http配置文件,將這三個(gè)模塊開(kāi)啟

vim /usr/local/httpd/conf/httpd.conf確保以下三個(gè)模塊前面無(wú)注釋符號(hào)#,如果有就刪去:LoadModule headers_module modules/mod_headers.so LoadModule deflate_module modules/mod_deflate.so LoadModule filter_module modules/mod_filter.so

建一個(gè)站點(diǎn)頁(yè)面,在其中添加圖片

cd /usr/local/httpd/htdocs/ ## 進(jìn)入站點(diǎn)目錄添加圖片vim index.html ## 編輯站點(diǎn)頁(yè)面文件<img src="cat.jpg"/>

驗(yàn)證語(yǔ)法并開(kāi)啟服務(wù)

[root@localhost bin]# cd /usr/local/httpd/bin/ [root@localhost bin]# /usr/local/httpd/bin/httpd -t AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message Syntax OK 如果返回值為:Syntax OK 就沒(méi)有問(wèn)題[root@localhost bin]# ./apachectl starthttpd (pid 40395) already running

執(zhí)行以下命令開(kāi)始?jí)毫y(cè)試

[root@localhost bin]# ab -r -n 3000 -c 1000 www.zxc.com/index.html(以每秒1000個(gè)請(qǐng)求的速度對(duì)此接口進(jìn)行訪問(wèn),知道請(qǐng)求數(shù)達(dá)到3000個(gè)為止,忽略接口返回的錯(cuò)誤信息) Benchmarking www.zxc.com (be patient) Completed 300 requests Completed 600 requests Completed 900 requests Completed 1200 requests Completed 1500 requests Completed 1800 requests Completed 2100 requests Completed 2400 requests Completed 2700 requests Completed 3000 requests Finished 3000 requestsServer Software: Microsoft-IIS/7.5 Server Hostname: www.zxc.com Server Port: 80Document Path: /index.html Document Length: 5066 bytesConcurrency Level: 1000 Time taken for tests: 84.126 seconds Complete requests: 3000 Failed requests: 2928(Connect: 0, Receive: 976, Length: 976, Exceptions: 976) Non-2xx responses: 2266 Total transferred: 11198916 bytes HTML transferred: 10704928 bytes Requests per second: 35.66 [#/sec] (mean) Time per request: 28041.847 [ms] (mean) Time per request: 28.042 [ms] (mean, across all concurrent requests) Transfer rate: 130.00 [Kbytes/sec] receivedConnection Times (ms)min mean[+/-sd] median max Connect: 0 319 925.7 106 9152 Processing: 194 10147 10462.1 3785 38210 Waiting: 0 3007 6934.1 398 34605 Total: 294 10466 10417.9 4869 41376Percentage of the requests served within a certain time (ms)50% 486966% 2100175% 2100380% 2100490% 2100595% 2517198% 3518799% 36438100% 41376 (longest request)

第一次 84.126

第二次 73.478

第三次 80.835

現(xiàn)在模擬對(duì)網(wǎng)站進(jìn)行優(yōu)化,開(kāi)啟gzip壓縮功能

vim /usr/local/httpd/conf/httpd.conf ## 編輯http配置文件在文件末尾追加寫(xiě)入以下內(nèi)容開(kāi)啟gzip壓縮:<IfModule mod_deflate.c>AddOutputFilterByType DEFLATE text/html text/plain text/css text/html text/javascript text/jpg text/pngDeflateCompressionLevel 9SetOutputFilter DEFLATE </IfModule>

要重啟Apache服務(wù)

./apachectl stop ## 停止服務(wù) ./apachectl start ## 開(kāi)啟服務(wù)

第一次 71.492

第二次 72.865

第三次 70.078

對(duì)比這3次測(cè)試結(jié)果,可以較明顯看出開(kāi)始gzip頁(yè)面壓縮后,測(cè)試時(shí)間明顯減少了**

總結(jié)

以上是生活随笔為你收集整理的ab压力测试(了解ab工具,实验对网页进行测试)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。