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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Ab命令对Apache服务器进行负载压力测试

發布時間:2024/3/26 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Ab命令对Apache服务器进行负载压力测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用Ab命令對Apache服務器進行負載壓力測試

本站原創 [基于 署名-非商業使用-相同方式分享 2.5 協議,轉載須注明鏈接]

本文所述Ab命令已由管理員在DebianCentos兩個系統中實際操作成功

壓力測試是性能調優過程中必不可少的一環。只有讓服務器處在高壓情況下才能真正體現出各種設置所暴露的問題。Apache中有個自帶的,名為ab的程序,可以對Apache或其它類型的服務器進行網站訪問壓力測試。


ab命令原理

ab命令會創建很多的并發訪問線程,模擬多個訪問者同時對某一URL進行訪問。它的測試目標是基于URL的,因此,既可以用來測試Apache的負載壓力,也可以測試nginxlighthttpIIS等其它Web服務器的壓力

ab命令對發出負載的計算機要求很低,既不會占用很多CPU,也不會占用太多的內存,但卻會給目標服務器造成巨大的負載,因此是某些DDOS攻擊之必備良藥,老少皆宜。自己使用也須謹慎。否則一次上太多的負載,造成目標服務器直接因內存耗光死機,而不得不硬重啟,得不償失。

ab實戰

Windows系統下,打開cmd命令行窗口,定位到apache安裝目錄的bin目錄下;

對于Linux系統,一般安裝好Apache后可以直接執行;

1

ab -n 10000 -c 100 http://www.xxx.com/

-n后面的1000代表總共發出10000個請求;-c后面的100表示采用100個并發(模擬100個人同時訪問),后面的網址表示測試的目標URL

稍等片刻,會得到類似如下回顯:

01

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0

02

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

03

Copyright 1997-2005 The Apache Software Foundation, http://www.apache.org/

04

?

05

Benchmarking localhost (be patient)

06

Completed 100 requests

07

Completed 200 requests

08

Completed 300 requests

09

Completed 400 requests

10

Completed 500 requests

11

Completed 600 requests

12

Completed 700 requests

13

Completed 800 requests

14

Completed 900 requests

15

Finished 1000 requests

16

Server Software: Apache/2.0.52

17

Server Hostname: localhost

18

Server Port: 80

19

?

20

Document Path: /

21

Document Length: 1494 bytes

22

?

23

Concurrency Level: 100

24

/*整個測試持續的時間*/

25

Time taken for tests: 3.296875 seconds

26

/*完成的請求數量*/

27

Complete requests: 1000

28

/*失敗的請求數量*/

29

Failed requests: 0

30

Write errors: 0

31

/*保持聯機連接的請求數量。只有在命令行中使用-k,才能看到該屬性值。*/

32

Keep-Alive requests: 1000

33

/*整個場景中的網絡傳輸量*/

34

Total transferred: 1987070 bytes

35

/*整個場景中的HTML內容傳輸量*/

36

HTML transferred: 1494000 bytes

37

/*每秒鐘平均處理的請求數*/

38

Requests per second: 303.32 [#/sec] (mean)

39

/*每個線程下的一組請求平均消耗時間*/

40

Time per request: 329.688 [ms] (mean)

41

/*并發的每個請求平均消耗時間*/

42

Time per request: 3.297 [ms] (mean, across all concurrent requests)

43

/*平均每秒網絡上的流量,可以幫助排除是否存在網絡流量過大導致響應時間延長的問題*/

44

Transfer rate: 588.44 [Kbytes/sec] received

45

?

46

Connection Times (ms)

47

min mean[+/-sd] median max

48

Connect: 0 0 0.8 0 15

49

Processing: 0 212 69.4 218 406

50

Waiting: 0 211 69.5 218 406

51

Total: 0 212 69.3 218 406

52

/*下面的內容為整個場景中所有請求的響應情況。在場景中每個請求都有一個響應時間,其中 50 的用戶響應時間小于 218 毫秒,66 的用戶響應時間小于 234 毫秒,最大的響應時間小于 406 毫秒*/

53

?

54

Percentage of the requests served within a certain time (ms)

55

50% 218

56

66% 234

57

75% 250

58

80% 265

59

90% 296

60

95% 312

61

98% 343

62

99% 359

63

100% 406 (longest request)

根據個人經驗,真正在遠程對Apache進行壓力測試,往往效果會非常不明顯(因為網絡延時過大),因此在某些情況下,建議干脆在VPS上對localhost進行測試(雖然理論上對真實結果有影響,但實際幾乎沒什么誤差)

總結

以上是生活随笔為你收集整理的使用Ab命令对Apache服务器进行负载压力测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。