1. 程式人生 > >web伺服器效能測試之利器—apache的ab

web伺服器效能測試之利器—apache的ab

最近對效能測試產生了莫名其妙極其深厚的興趣,在這裡我想把我的學習過程記錄下來,希望能給未來的我後者現在的你提供一些幫助,如果有志同道合的人&不嫌棄我初出茅廬,和我聯絡,我非常願意和你交流關於伺服器效能方面的知識

測試工具選擇

在做所有優化之前,我們得有一個測試工具,告訴我們當前的效能是怎樣,再做了某些措施後,又有哪些變化,我們需要有這樣的工具給我們一個量化的資料,以便我們決策和更新優化策略

我選擇了apache的ab測試工具,原因嗎,一,簡單:安裝簡單,使用簡單。只要你安裝了apache,那麼ab工具就可以使用了(什麼,你連apache都不會安,那你可以閃了,本文不適合你),使用方法等會介紹;二,跨平臺啊,無論我是在辦公室用linux系統,還是在家用xp,都可以安裝這個軟體

ab的使用

有多簡單,just so easy,看示例

G:\program files\Apache Software Foundation\Apache2.2\bin>ab.exe -n 1000 -c 100 http://www.163.com/

這是我在xp下跑的測試,首先要找到apache的安裝目錄,“G:\program files\Apache Software Foundation\Apache2.2\bin” 這是我的apache的安裝目錄,一坨cd等命令,讓我們進入到了這個目錄下後,輸入命令主體,“ab.exe -n 1000 -c 100 http://www.163.com/”

ab.exe 是命令

-n 1000 表示總共要傳送1000個請求

-c 100 表示併發請求數為100

http://www.163.com/ 最後跟的是要測試的網址(發現網址的末尾必須加上/ 才行,否則命令不執行,猜想可能是正則匹配的原因)

ab效能報告&解析

要找到一個能允許做壓力測試的網站並不是很容易,很多大型網站會對使用者的訪問頻率做一些限制,以此來避免DOS攻擊,但是還是被我僥倖發現了一個可以做實驗小白鼠的:網易,一起看一下他的測試報告

G:\program files\Apache Software Foundation\Apache2.2\bin>ab.exe -n 100 -c  10 http://www.163.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.163.com (be patient).....done

#展示了web伺服器的資訊,可見網易採用的是nginx伺服器,域名是www.163.com,埠話是80
Server Software:        nginx
Server Hostname:        www.163.com
Server Port:            80

#這段是關於請求的文件的相關資訊,所在位置“/”,文件的大小為338436 bytes(此為http響應的正文長度)
Document Path:          /
Document Length:        338436 bytes

#請求併發數為10
Concurrency Level:      10

#本次測試100次請求共花費時間為 72.469秒
Time taken for tests:   72.469 seconds

#完成的請求數為100
Complete requests:      100

#失敗的請求數為23個
Failed requests:        23
   (Connect: 0, Receive: 0, Length: 23, Exceptions: 0)
Write errors:           0

#所有請求的響應資料長度總和(result = http響應頭資訊 + 正文資料)
Total transferred:      33875454 bytes

#等於上面的資料 - http頭資訊
HTML transferred:       33841001 bytes

# 吞吐率(網站效能的重要標誌!!!)
Requests per second:    1.38 [#/sec] (mean)

#使用者平均請求等待時間(網站效能的重要標誌!!)
Time per request:       7246.875 [ms] (mean)

#伺服器平均請求處理時間(網站效能的重要標誌!!)
Time per request:       724.688 [ms] (mean, across all concurrent requests)

#這些請求在單位時間內從伺服器獲取的資料長度,該項資料可以統計出伺服器在處理能力達到極限時,器出口頻寬的需求量
Transfer rate:          456.49 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    2   5.4      0      16
Processing:    31 6985 2170.1   6828   13625
Waiting:        0  330 617.2     94    3688
Total:         47 6987 2169.4   6828   13625

#每個請求處理時間的分佈情況,50%的處理時間在6828ms內,66%的處理時間在7774ms內。。。
Percentage of the requests served within a certain time (ms)
  50%   6828
  66%   7734
  75%   8609
  80%   9063
  90%   9859
  95%  10609
  98%  11156
  99%  13625
 100%  13625 (longest request)

壓力測試目的

通過不斷的增加併發數,記錄下併發使用者數、吞吐率、請求等待時間、請求處理時間這些實驗資料,通過您自己的分析,選取最適合自己的併發數

迷惑的問題

1. 網站中有很多請求都是要求做許可權限制,比如使用到了cookie驗證,ab如何測試這種帶驗證的頁面呢

2. 經常會出現這種提示

apr_socket_recv: 遠端主機強迫關閉了一個現有的連線。   (730054)

是不是伺服器因為我發的請求過於多and頻繁,關閉了我的連結?如果是,他是怎樣做到的?

相關推薦

web伺服器效能測試利器—apache的ab

最近對效能測試產生了莫名其妙極其深厚的興趣,在這裡我想把我的學習過程記錄下來,希望能給未來的我後者現在的你提供一些幫助,如果有志同道合的人&不嫌棄我初出茅廬,和我聯絡,我非常願意和你交流關於伺服器效能方面的知識 測試工具選擇 在做所有優化之前,我們得有一個測試工具

伺服器 效能測試web壓力測試

前言:現在雲伺服器是主流,成了許多中小型公司的首選伺服器,但是雲伺服器都是虛擬機器,所以效能是一大疑問,這裡就開始簡單介紹雲伺服器的效能測試,雲端web伺服器的壓力測試。 Linux下常用的四款Web伺服器壓力測試工具(http_load、webbench、a

web伺服器效能測試---伺服器效能測試例項

WEB效能測試--伺服器 目錄 WEB 服務中,對於不同的請求,響應速度(效能)是不一樣的。對於靜態檔案的響應一般會很快,尤其是使用了前端快取技術的(例如 nginx 快取、varnish快取、CDN 快取等)。 下面將以靜態頁面的測試為例,詳細講解

Web伺服器效能壓力測試工具

一、http_load 程式非常小,解壓後也不到100K http_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。 但是它不同於大多數壓力測試工具,它可以以一個單一的程序執行,一般不會把客戶機搞死。 還可以測試HTTPS類的網站請求。 下載地址:h

Linux VPS/伺服器效能測試工具

無論我們選擇國內、國外VPS、伺服器,我們都希望價效比高,都凸顯在哪些方面呢?價格成本、速度、穩定性,以及各種支援的功能。其中最為關鍵的我們在選擇便宜VPS主機的時候可能會用於國內的建站等專案,其實最為直接的測試速度就是我們架設網站之後看看實際的使用者開啟速度,這樣其實是最好

九款Web伺服器效能壓力測試工具

一、http_load 程式非常小,解壓後也不到100K http_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。 但是它不同於大多數壓力測試工具,它可以以一個單一的程序執行,一般不會把客戶機搞死。 還可以測試HTTPS類的網站請求。 下載地址:http_lo

Web伺服器效能/壓力測試工具http_load、webbench、ab、Siege使用教程

一、http_load 程式非常小,解壓後也不到100K http_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工 具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。 命令格式

(轉) Web伺服器效能/壓力測試工具http_load、webbench、ab、Siege使用教程

一、http_load 程式非常小,解壓後也不到100K http_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工 具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。 命令格式:ht

幾款Web伺服器效能壓力測試工具

一、http_load程式非常小,解壓後也不到100Khttp_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。下載地址:http_load-

[轉]Web伺服器效能/壓力測試工具http_load、webbench、ab、Siege使用教程

一、http_load 程式非常小,解壓後也不到100K http_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工 具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。 命令格式:http

Jmeter效能測試進階BeanShell的使用

BeanShell 最常用的用法 寫好Java程式碼打成jar, 放到目錄\lib\ext下面 1 package com.test; 2 3 import java.io.File; 4 import java.io.UnsupportedEncodingException; 5

Jmeter效能測試進階Java request的使用

在IDE中引用Jmeter的安裝目錄lib/ext中兩個檔案ApacheJMeter_core.jar和ApacheJMeter_java.jar Java request的類需要繼承AbstractJavaSamplerClient類,在繼承AbstractJavaSamplerClient類的時候,需要

伺服器效能測試實戰總結

Table of Contents 伺服器背景介紹 效能測試方法 測試結果和分析 第一個問題:service crash重啟的問題 第二個問題:Tomcat JDBC Connection not enough的問題 第三個問題: Postgresql too many

效能測試

最近工作之餘,對以往的效能測試相關知識做了整理和覆盤,發現了很多之前沒認真思考過的小細節,整理出來,以供參考。。。   1、如何理解效能指標? 在效能測試中,涉及的效能指標有很多,強行記憶理解可能是一件很吃力的事情。對效能指標進行分層劃分,這樣有助於記憶和理解。 在體育運動中,我們都知道提倡

再談效能測試需求調研

之前的部落格聊聊效能測試開始前的準備工作,聊了一些關於效能測試開始前要做的準備工作。這篇部落格,來談談效能測試開始前的需求調研階段,我們要做什麼,關注那些Point。。。   一、基本資訊 資訊型別 說明 專案名稱 專案歸屬的業務

移動效能測試gemebench安裝

  越來越多的人從事各種移動端效能測試,但工具和文件的資料卻相對較少,這兩天需要測試一款APP的效能,就來先簡單介紹下gamebench的安裝吧!   作為國人來說,使用gamebench還是有相當多的坑點:   1 要有FQ工具,例如藍燈...   2 要在谷歌的“play商店”安裝(前提

Android效能測試冷啟動時間

          冷啟動是Android效能測試中的重要指標,即應用從程序未建立到完全啟動的時間,一般要求時長<1.5s,過長需要考慮優化。 獲取冷啟動時間的方法: 1.用命令列  adb shell am start

LoadRunner效能測試常見函式及引數的說明和作用

lrs_startup(257);  啟動winsocket.dll lrs_create_socket("socket0","TCP","RemoteHost=10.1.106.6:20000",LrsLastArg);   建立socket函式。引數分別是:soc

wrk伺服器效能測試

轉載地址:http://zjumty.iteye.com/blog/2221040 測試先行是軟體系統質量保證的有效手段. 在單元測試方面, 我們有非常成熟的 xUnit 方案. 在整合測試方面, 我們 selenium 等自動化方案. 在效能測試方面也有很多成熟的工具,

測定Web伺服器效能

ApacheTop 簡介 ApacheTop是一個實時訪問的日誌檔案分析器,它的行為方式類似於對訪問日誌進行跟蹤,也提供一定程度的分析 安裝 yum install apachetop 使用 -f <file> 分析檔案 eg:apachet