導航:首頁 > 操作系統 > linux並發測試

linux並發測試

發布時間:2022-08-22 18:24:33

linux 這么測試當前伺服器最高並發承載能力

linux的版本也分很多種,而且你要測得是網頁的並發量吧
那你可以查看apache當前並發訪問數:netstat -an | grep ESTABLISHED | wc -l
最大並發量就在 httpd.conf中MaxClients的數字

❷ linux下 高並發壓力測試有什麼命令或者好用的軟體

這個…… 特定的server端要用特定的client端來測試埃沒有通用的。web server端的測試程序多,是因為web server都是用http協議,所以通用。 你完全可以自己寫一個client端,如果不知道怎麼寫可以追問。

❸ linux jmeter最高支持多少並發

2.1測試環境作者使用了Tomcat作為Web伺服器進行測試,被測試的內容是一個jsp文件和一個servlet,jsp文件調用javaBean、列印相關信息,servlet接受用戶參數、調用javabean、輸出相關信息。詳細的內容請參考作者提供的JMeter.war的內容。2.2安裝啟動JMeter大家可以到通過bin下面的jmeter.bat批處理文件來啟動JMeter的可視化界面,下面的工作都將在這個可視化界面界面上進行操作。下面的圖片是JMeter的可視化界面的屏幕截圖。圖一:JMeter打開時的屏幕截圖圖一:JMeter打開時的屏幕截圖2.3建立測試計劃(TestPlan)測試計劃描述了執行測試過程中JMeter的執行過程和步驟,一個完整的測試計劃包括一個或者多個線程組(ThreadGroups)、邏輯控制(LogicController)、實例產生控制器(SampleGeneratingControllers)、偵聽器(Listener)、定時器(Timer)、比較(Assertions)、配置元素(ConfigElements)。打開JMeter時,它已經建立一個默認的測試計劃,一個JMeter應用的實例只能建立或者打開一個測試計劃。現在我們開始填充一個測試計劃的內容,這個測試計劃向一個jsp文件和一個servlet發出請求,我們需要JMeter模擬五個請求者(也就是五個線程),每個請求者連續請求兩次,下面的章節介紹了詳細的操作步驟。2.4增加負載信息設置這一步,我們將向測試計劃中增加相關負載設置,是Jmeter知道我們需要模擬五個請求者,每個請求者在測試過程中連續請求兩次。詳細步驟如下:1.選中可視化界面中左邊樹的TestPlan節點,單擊右鍵,選擇Add'ThreadGroup,界面右邊將會出現他的設置信息框。2.ThreadGroup有三個和負載信息相關的參數:NumberofThreads:設置發送請求的用戶數目Ramp-upperiod:每個請求發生的總時間間隔,單位是秒。比如你的請求數目是5,而這個參數是10,那麼每個請求之間的間隔就是10/5,也就是2秒LoopCount:請求發生的重復次數,如果選擇後面的forever(默認),那麼請求將一直繼續,如果不選擇forever,而在輸入框中輸入數字,那麼請求將重復指定的次數,如果輸入0,那麼請求將執行一次。根據我們演示例子的設計,我們應該將NumberofThreads設置為5,Ramp-upperiod設置為0(也就是同時並發請求),不選中forever,在LoopCount後面的輸入框中輸入2,設置後的屏幕截圖如下:圖二:設置好參數的ThreadGroup。圖二:設置好參數的ThreadGroup。2.5增加默認Http屬性(可選)實際的測試工作往往是針對同一個伺服器上Web應用的,所以Jmeter提供了這樣一種設置,在默認Http屬性設置需要被測試伺服器的相關屬性,以後的http請求設置中就可以忽略這些相同參數的設置,減少設置參數錄入的時間。我們這里將採用這種屬性。你可以通過下面的步驟來設置默認http屬性:1.選中可視化界面中左邊樹的TestPlan節點,單擊右鍵,選擇Add'configelement'httprequestdefaults,界面右邊將會出現他的設置信息框。2.默認http屬性的主要參數說明如下:protocal:發送測試請求時使用的協議servernameorip:被測試伺服器的ip地址或者名字path:默認的起始位置。比如將path設置為/jmeter,那麼所有的http請求的url中都將增加/jmeter路徑。portnumber:伺服器提供服務的埠號我們的測試計劃將針對本機的Web伺服器上的Web應用進行測試,所以protocal應該是http,ip使用localhost,因為這個web應用發布的context路徑是/jmeter,所以這里的path設置為/jmeter,因為使用Tomcat伺服器,所以portnumber是8080。設置後的屏幕截圖如下:圖三:測試計劃中使用的默認Http參數圖三:測試計劃中使用的默認Http參數2.6增加Http請求現在我們需要增加http請求了,他也是我們測試的內容主體部分。你可以通過下面的步驟來增加性的http請求:1.選中可視化界面中左邊樹的ThreadGroup節點,單擊右鍵,選擇Add'sampler'httprequest,界面右邊將會出現他的設置信息框。2.他的參數和2.5中介紹的http屬性差不多,增加的屬性中有發送http時方法的選擇,你可以選擇為get或者post。我們現在增加兩個http請求,因為我們設置了默認的http屬性,所以和默認http屬性中相同的屬性不再重復設置。設置後的屏幕截圖如下:圖四:設置好的jsp測試請求圖四:設置好的jsp測試請求圖五:設置好的Servlet測試請求(帶參數)圖五:設置好的Servlet測試請求(帶參數)2.7增加Listener增加listener是為了記錄測試信息並且可以使用Jmeter提供的可視化界面查看測試結果,裡面有好幾種結果分析方式可供選擇,你可以根據自己習慣的分析方式選擇不同的結果顯示方式,我們這里使用表格的形式來查看和分析測試結果。你可以通過下面的步驟來增加listener:1.選中可視化界面中左邊樹的TestPlan節點,單擊右鍵,選擇Add'listener'viewresultintable,界面右邊將會出現他的設置信息和結果顯示框。2.你可以設置界面上面的filename屬性設置將測試結果保存到某個文件中界面下面將使用表格顯示測試結果,表格的第一列sampleno顯示請求執行的順序和編號,url顯示請求發送的目標,sample-ms列顯示這個請求完成耗費的時間,最後的success列顯示改請求是否成功執行。界面的最下面你還可以看到一些統計信息,最關心的應該是Average吧,也就是相應的平均時間。2.8開始執行測試計劃現在你可以通過單擊菜單欄run->Start開始執行測試計劃了。下面這兩個圖是作者第一次、第二次執行該測試計劃的結果圖:大家可以看到第一次執行時的幾個大時間值均來自於jsprequest,這可以通過下面的理由進行解釋:jsp執行前都需要被編譯成.class文件。所以第二次的結果才是正常的結果。

❹ linux c++怎麼寫一個測試程序測試伺服器高並發

可以用java寫一個循環,生成很多個sevelet去request。這只能測試線程池這類性能。如果要測試帶寬什麼的,就要用其他方案了

❺ 如何在linux下驗證兩個線程是否並發執行的代碼 如線程A與線程B

線程。對於計算機微處理器而言,程序只是一組編譯過的機器代碼,可以執行相關的數據計算與操作,這些代碼由一條條的指令組成,每一個代碼組就是一條線程。
現有主流CPU為x86架構,每次只能執行一條線程,即單線程。單CPU系統中,在執行指令的時候,CPU先找出相應指令所在的內存位置,執行下一條指令,再轉換到另一個位置,在同一時間內CPU只能對應一個指令。線程可以中斷,並把中間結果暫存在另一個特殊位置(堆棧),不同的線程可以交叉運行,實現多任務,但每次運行的線程仍然僅有一條,千萬不要把多任務和多線程混淆了。
既然一個CPU是單線程,那麼兩個CPU自然就可以雙線程啦,如此類推,就會出現四路、八路系統。但雙處理器系統的性能並不能達到單處理器的兩倍,通常只有33%的性能增益。
為了提高CPU的性能,廠商通常採用增加工作頻率和緩存容量的方法來提升速度,但這是治標不治本的方法,CPU只提高了速度,其內在潛力依然未能完全發揮,CPU的執行單元沒有被充分利用,於是設計者就在CPU中加入兩個邏輯處理單元,同時管理CPU的全部資源,直接提高CPU內核的工作效率。
超線程技術就是利用特殊的硬體指令,把兩個邏輯內核模擬成兩個物理晶元,讓單個處理器都能使用線程級並行計算,從而兼容多線程操作系統和軟體,提高處理器的性能。操作系統或者應用軟體的多線程可以同時運行於一個HTT處理器上,兩個邏輯處理器共享一組處理器執行單元,並行完成加、乘、負載等操作。
如何提升工作效率
那麼,超線程技術是如何提高CPU性能的呢?
我們知道,CPU由很多執行單元組成(如整數運算單元、浮點運算單元和存儲單元),這些執行單元無法同時工作,大多數時間有一半執行單元是處於空閑狀態。例如,MS Office等商業軟體主要使用整數運算單元和讀寫/存儲單元,幾乎不涉及浮點運算單元,3D渲染軟體主要使用浮點運算單元,很少涉及整數運算單元,很明顯,這種設計造成了很大的浪費。如P4處理器內部有7個執行單元,每個時鍾周期內,約有2個執行單元工作,它們共執行兩次操作,那麼,其他5個單元完全沒有用到。
為了解決這個問題,高端電腦採用了ILP(Instruction Level Parallelism,指令級平行運算)技術,可以同時執行多條指令,提高單CPU的效率。而x86架構只能讓多個CPU來執行不同的線程,不過硬體成本增加了不少,於是超線程技術處理器的出現正式兼容兩者的優勢。
傳統處理器和支持超線程處理器在指令執行上的對比,參見^42030101a^1、^42030101b^2、^42030101c^3。
從上面的對比圖可以看出:採用了超線程技術後,處理器真正並行執行多個線程,從而在同一頻率和緩存的基礎上實現了提高系統性能的技術變革。
超線程技術對商用和家用電腦而言,除了全面提升系統性能以外,還增加系統平台所能支持用戶的數量,大幅降低系統的反應潛伏時間(因為任務能被分為幾個隔離的線程來同時執行),增加系統的指令執行數量,還有一點很關鍵的是,即使對於現有的IA-32體系軟體它也能很好地兼容。因為,HTT處理器還提供一個中斷指令,在執行適合單處理器的任務時,暫停其中一個邏輯內核,讓操作系統識別為單處理器,在執行適合多處理器的任務時,重新打開邏輯內核,利用HTT來增加整體效率。
軟硬體支持與應用
支持超線程技術需軟硬體的支持,硬體方面需要主板北橋晶元的支持。目前支持超線程技術的北橋有850E、845E、845G(B版本)、845GV、845GE、845PE,以及未來英特爾能支持到533MHz FSB的北橋都將支持超線程技術。支持400MHz FSB的北橋是不支持超線程技術的,支持超線程技術的處理器配合這樣的北橋使用時,只能作為傳統的處理器使用。
超線程技術還需要主板對CPU的電源支持,需要主板能提供給處理器高達70A的電流,否則系統可能不能長期穩定工作。除此之處還需要主板BIOS的支持,需要BIOS加入特定的支持HTT處理器的代碼。當BIOS檢測到是超線程處理器時,在BIOS設置菜單中出現CPU Hyper-Threading(Enabled or Disabled)的選項。
超線程技術還需要操作系統的支持。目前支持超線程技術的有Windows XP和Linux 2.4.X。這不同於傳統的處理器安裝的Windows XP,使用超線程技術的處理器安裝完Windows XP後在設備管理器中能顯示有兩個處理器和ACPI Multiprocessor PC。
當然你的處理器必須支持超線程技術。從即將於下個月發布的3.06GHz P4開始,英特爾的處理器都將支持超線程技術。
這里筆者以QDI的P2E 333和P8 333這兩款主板為例,它們的北橋晶元分別是英特爾845PE和845GE,支持533MHz FSB和DDR333,支持處理器超線程技術;主板的CPU供電電源模塊符合英特爾Northwood FMB2標准,能提供70A的電流;在測試中使用超線程處理器3.06GHz P4 CPU(實驗樣品)開機後,進入BIOS中出現CPU Hyper-Threading的選項。
安裝Windows XP後,設備管理器出現兩個處理器和ACPI Multiprocessor PC,在任務管理器中出現兩個CPU實時使用率的圖標,如^42030101d^4:
筆者對開啟和關閉CPU Hyper-Threading功能的測試中,發現啟用超線程技術能使系統性能提高近20%左右。
另外,站長團上有產品團購,便宜有保證

❻ linux tcp socket並發編程,調用accept函數後調用fork。兩台電腦測試,為何accept返回的描述符是相同的

可能是你的fork 之後產生的子進程拷貝的代碼,它那裡執行了accept,所以導致相同,你試著在每個fork之後的函數中用個exit(1);將子進程退出,然後應該就不會有這個問題了。

❼ linux 這么模擬1000並發

可以使用apache的 ab 測試軟體做壓力測試
我們可以模擬100個並發用戶,對一個頁面發送1000個請求 如
$/bin/ab -n1000 -c100 URL
1000個並發 要看是靜態頁面,還是動態頁面。
靜態頁面2台伺服器,配置大概 4核CPU 8G 內存 可以滿足。
動態頁面就要看應用伺服器和資料庫伺服器了。

❽ Linux下如何對tomcat進行並發測試已經壓力

❾ 如何在linux操作系統上做介面壓力測試

介紹個http_load壓力測試工具,http_load,類似的工具還有webbench、ab、Siege。
1、下載
官方網站:http://acme.com/software/http_load/

復制代碼
代碼如下:

cd /root
wget http://acme.com/software/http_load/http_load-12mar2006.tar.gz
tar xzf http_load-12mar2006.tar.gz

2、安裝

復制代碼
代碼如下:

cd http_load-12mar2006
make

執行完make,會在當前目錄生成一個http_load二進制文件。
3、使用方法

復制代碼
代碼如下:

root@www:~/http_load-12mar2006# ./http_load --help
usage: ./http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]
-parallel N | -rate N [-jitter]
-fetches N | -seconds N
url_file

One start specifier, either -parallel or -rate, is required.
One end specifier, either -fetches or -seconds, is required.
主要參數說明:
-parallel 簡寫-p :含義是並發的用戶進程數。
-rate 簡寫-r :含義是每秒的訪問頻率
-fetches 簡寫-f :含義是總計的訪問次數
-seconds簡寫-s :含義是總計的訪問時間
選擇參數時,-parallel和-rate選其中一個,-fetches和-seconds選其中一個。
示例:
http_load -parallel 50 -s 10 urls.txt
這段命令行是同時使用50個進程,隨機訪問urls.txt中的網址列表,總共訪問10秒。
http_load -rate 50 -f 5000 urls.txt
每秒請求50次,總共請求5000次停止。

4、基本的返回值
(1).49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
說明在上面的測試中運行了49個請求,最大的並發進程數是2,總計傳輸的數據是289884bytes,運行的時間是10.0148秒
(2).5916 mean bytes/connection
說明每一連接平均傳輸的數據量289884/49=5916
(3).4.89274 fetches/sec, 28945.5 bytes/sec
說明每秒的響應請求為4.89274,每秒傳遞的數據為28945.5 bytes/sec
(4).msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
說明每連接的平均響應時間是28.8932 msecs,最大的響應時間44.243 msecs,最小的響應時間24.488 msecs
(5).msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
(6).HTTP response codes: code 200 -- 49
說明打開響應頁面的類型,如果403的類型過多,那可能要注意是否系統遇到了瓶頸。
特殊說明:這里,我們一般會關注到的指標是fetches/sec、msecs/connect
他們分別對應的常用性能指標參數Qpt-每秒響應用戶數和response time,每連接響應用戶時間。測試的結果主要也是看這兩個值。當然僅有這兩個指標並不能完成對性能的分析,我們還需要對伺服器的cpu、men進行分析,才能得出結論
5、如果你需要測試https,你必須將 Makefile中

復制代碼
代碼如下:

# CONFIGURE: If you want to compile in support for https, uncomment these
# definitions. You will need to have already built OpenSSL, available at
# <a href="http://www.openssl.org/">http://www.openssl.org/</a> Make sure the SSL_TREE definition points to the
# tree with your OpenSSL installation - depending on how you installed it,
# it may be in /usr/local instead of /usr/local/ssl.
SSL_TREE = /usr
SSL_DEFS = -DUSE_SSL
SSL_INC = -I$(SSL_TREE)/include
SSL_LIBS = -L$(SSL_TREE)/lib -lssl -lcrypto

由於使用到openssl,你必須安裝openssl和相應的開發環境

復制代碼
代碼如下:

apt-get install openssl
apt-get install libssl-dev</p> <p>find -name ssl.h
/usr/include/openssl/ssl.h

❿ linux下如何測試TCP並發數量

查看httpd進程數:
Linux命令:
ps
-ef
|
grep
httpd
|
wc
-l
返回結果示例:1388
表示伺服器能夠處理1388個並發請求,這個值伺服器可根據負載情況自動調整。
查看伺服器的並發請求數及其TCP連接狀態:
Linux命令:
netstat
-n
|
awk
'/^tcp/
{++S[$NF]}
END
{for(a
in
S)
print
a,
S[a]}'
返回結果示例:
LAST_ACK
5
SYN_RECV
30
ESTABLISHED
1597
FIN_WAIT1
51
FIN_WAIT2
504
TIME_WAIT
1057
其中的SYN_RECV表示正在等待處理的請求數;ESTABLISHED表示正常數據傳輸狀態;TIME_WAIT表示處理完畢,等待超時結束的請求數。

閱讀全文

與linux並發測試相關的資料

熱點內容
車貼版app在哪裡下 瀏覽:378
javatimer停止又啟動 瀏覽:621
damage 電影 法國 瀏覽:894
文件夾屬性被劫持 瀏覽:307
性價比雲伺服器怎麼購買 瀏覽:111
為什麼打開騰訊視頻是文件夾 瀏覽:207
美劇戰機電影 瀏覽:719
七七影視大全里緩存的電影怎麼保存到手機相冊 瀏覽:595
讀物app在哪裡可以掃碼 瀏覽:634
編程學員作業檢查報告 瀏覽:256
單片機有幾個寄存器 瀏覽:203
安卓如何安裝泰劇迷app 瀏覽:42
如何架設暗黑伺服器 瀏覽:898
暴露性器官的電影 瀏覽:364
java培訓內容 瀏覽:913
dos命令盤符 瀏覽:701
javadouble取小數 瀏覽:924
十大封禁鬼片電影免費在線觀看 瀏覽:641
塔羅牌程序源碼 瀏覽:840
華為手機怎麼隱私與加密 瀏覽:288