① php web伺服器。網站上線在即,請問如何測試伺服器壓力呢比如如何知道這個網站到底能同時承受
利用一些軟體吧,可用來進行 Web 壓力測試的工具有很多,比如微軟的 Web Application Stress、linux下的 siege、功能全面的 Web-CT 等等,這些都是非常優秀的 Web 壓力測試工具。
一、 Siege
一款開源的壓力測試工具,可以根據配置對一個WEB站點進行多用戶的並發訪問,記錄每個用戶所有請求過程的相應時間,並在一定數量的並發訪問下重復進行。
官方:http://www.joedog.org/
1. 下載源碼
請自行google例如:
wget http://soft.vpser.net/test/siege/siege-2.67.tar.gz
2. 解壓、編譯和安裝
tar -zxf siege-2.67.tar.gz cd siege-2.67/ /configure make && make install
3. 運行siege
siege -c 200 -r 10 -f test.txt
-c是並發量,-r是重復次數。 url文件就是一個文本,每行都是一個url,它會從裡面隨機訪問的。
test.txt 內容:
http://blog.test.com/wp-content/uploads/2012/07/cluster6.png
http://blog.test.com/wp-content/uploads/2012/07/cluster7-150x150.png
http://blog.test.com/wp-content/uploads/2012/07/cluster7.png
http://blog.test.com/wp-content/uploads/2012/07/cluster8-150x150.png
http://blog.test.com/wp-content/uploads/2012/07/cluster9-150x150.png
4 結果說明
Lifting the server siege… done.
Transactions: 3419263 hits //完成419263次處理
Availability: 100.00 % //100.00 % 成功率
Elapsed time: 5999.69 secs //總共用時
Data transferred: 84273.91 MB //共數據傳輸84273.91 MB
Response time: 0.37 secs //相應用時1.65秒:顯示網路連接的速度
Transaction rate: 569.91 trans/sec //均每秒完成 569.91 次處理:表示伺服器後
Throughput: 14.05 MB/sec //平均每秒傳送數據
Concurrency: 213.42 //實際最高並發數
Successful transactions: 2564081 //成功處理次數
Failed transactions: 11 //失敗處理次數
Longest transaction: 29.04 //每次傳輸所花最長時間
Shortest transaction: 0.00 //每次傳輸所花最短時間
二、Webbench
webbench最多可以模擬3萬個並發連接去測試網站的負載能力,安裝使用簡單方便。
1. 下載源碼
請自行google例如:
wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz
2. 解壓、編譯和安裝
tar zxvf webbench-1.5.tar.gz cd webbench-1.5 make mkdir /usr/local/man #建立相應目錄否則導致無法正常安裝 make install
3. 運行webbench
webbench -c 100 -t 30 http://192.168.1.235/index.html
-c表示並發數,-t表示時間(秒)
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://192.168.1.235/index.html
100 clients, running 30 sec.
Speed=16084 pages/min, 152872 bytes/sec. #運行結果顯示
Requests: 8042 susceed, 0 failed.
三、Web Application Stress Tool
這是由微軟的網站測試人員開發的專門用來進行實際網站壓力測試以一套工具。透過這套功能強大的壓力測試工具,管理人員可以在網站實際上線之前先網站進行如同真實環境下的測試,以找出系統潛在的問題,對系統進行進一步的調整、設置工作。
② 網站伺服器如何做訪問壓力測試
網站伺服器的壓力測試我覺得主要有一些幾點。
1.協議這邊基本上以http或者https為主了,如果使用其他協議需要分析其打解包的方法。
2.要產生一定的壓力,壓力源這邊一定要有保證。一般都是用機器人來模擬壓力,關於機器人的邏輯可以根據具體業務來開發。
3.需要觀察在一定壓力下,伺服器的各項性能指標(cpu,內存,IO,網路流量)進行觀察,比如內存是否有泄漏,cpu利用率過高的情況。
4.壓力測試應該是一個持續性的過程,在這個過程中需要統計伺服器的性能數據,包括tps,以及機器的負載情況等。據此可以分析伺服器的瓶頸在何處,後續可以針對優化。
5.目前大部分的伺服器都部署在Linux系統上,測試同學還需要掌握相關的Linux命令以便可以更好的測試。
如果你覺得前面的太麻煩,可以來WeTest伺服器壓力測試高並發,實時性能報表,專家級性能優化建議,目前我們正在做網站壓測這一塊,你要做的僅僅是填下被測的URL即可,壓力源、數據統計這些瑣碎的工作交給我們就行了。